Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#51 Le 09/03/2010, à 15:06

Ph3nix_

Re : Java, Python, C... J'ai mal à la tête.

ilagas a écrit :

pour commencer y a pas mieux que le C
pour approfondir le c++ aprés le choix du language ce sera selon ce que tu veux faire smile

+1

Le C permet de comprendre la machine, la pile, les adresses (les pointeurs), la gestion de la mémoire, les I/O, les processus, les signaux, le système de fichier, l'encode des caractères.

Avec le C on peut tout faire: une application entière, de l'interface à l'accés à la base.
De plus c'est un langage orienté objet même si les principaux principes ne sont pas implémentés.

Rien de mieux. La syntaxe est compliqué mais elle est significative.

Le paradigme objet n'est pas indispensable et est de toute façon pas maitrisé par les novices, c'est pourquoi commencer par le Java, php ou python ne sert a rien.. Si ce n'est produire des lignes de code pourri.

Si le C te semble trop inabordable, et bien autant commencer par le Pascal.


Hiroshima 45 / Chernobyl 86 / Windows '95

Hors ligne

#52 Le 09/03/2010, à 15:23

obibann

Re : Java, Python, C... J'ai mal à la tête.

c'est pourquoi commencer par le Java, php ou python ne sert a rien.

je ne suis pas tout à fait d'accord... Rien ne t'oblige de faire de l'objet avec PHP. C'est d'ailleurs la force et la faiblesse de ce langage : on peut écrire des applications avec du code ultra basique et procédural, ou bien super structuré et orienté objet. L'avantage c'est que le langage s'adapte au développeur. Un débutant aura un code de débutant, un initié aura un code d'initié.. Après celà n'a pas que des avantages...


Ubuntu 16.04
Avec Windows, on fait ce qu'on peut... Avec Linux, on fait ce qu'on veut !! :p

Hors ligne

#53 Le 09/03/2010, à 15:24

kaoron

Re : Java, Python, C... J'ai mal à la tête.

obibann a écrit :
c'est pourquoi commencer par le Java, php ou python ne sert a rien.

je ne suis pas tout à fait d'accord... Rien ne t'oblige de faire de l'objet avec PHP.

Ni avec python..

#54 Le 09/03/2010, à 15:57

Le Farfadet Spatial

Re : Java, Python, C... J'ai mal à la tête.

Salut à tous !

Koshie-2.0 a écrit :

Parce que j'ai peut-être pas les mêmes besoin qu'un autre.

Oui, mais ton besoin est peut-être semblable à celui d'autres. De plus, si l'on confronte plusieurs expériences, c'est bénéfique pour tout le monde.

   Après, la redondance, c'est très bien pour la sécurité informatique, par contre c'est une solution sous-optimale pour l'aide informatique.

   Cela dit, j'ai moi aussi commencé avec Basic, mais je faisais du Pascal à 10 ans -- un peu avant, même, si je ne me trompe pas. Franchement, un gamin peut s'éclater avec ça. Par contre, Basic pousse tout de même fortement à la programmation spaghetti. Python est très accessible. C, en revanche, est à déconseiller au débutant, tout du moins à mon sens.

   À bientôt.

                                                                                                                                                Le Farfadet Spatial

Dernière modification par Le Farfadet Spatial (Le 09/03/2010, à 15:58)

Hors ligne

#55 Le 09/03/2010, à 16:52

enrix

Re : Java, Python, C... J'ai mal à la tête.

Koshie-2.0 a écrit :

Le Java a l'avantage de permettre d'avoir une version d'un programme sur n'importe quel ordinateur (possédant Java) et il existe openjdk, qui est libre !

Le Python a l'avantage de donner un code propre et il semble être un des plus hauts (facile) langage de programmation.

Le C c'est mythique à ce que je sache, mais ça m'a l'air compliqué. Le noyau de Linux est écrit en C.



Vous en pensez quoi ?

Je te conseil le C, le PHP, et le Python ainsi que le Perl.

Hors ligne

#56 Le 09/03/2010, à 16:59

Grünt

Re : Java, Python, C... J'ai mal à la tête.

Le Farfadet Spatial a écrit :

Par contre, Basic pousse tout de même fortement à la programmation spaghetti.

Faux.

Au début tu spaghettises, après t'apprends à faire des sous-fonctions ("DECLARE SUB" tongue) et des boucles propres.


Red flashing lights. I bet they mean something.

Hors ligne

#57 Le 09/03/2010, à 17:05

DrDam

Re : Java, Python, C... J'ai mal à la tête.

ǤƦƯƝƬ a écrit :
Le Farfadet Spatial a écrit :

Par contre, Basic pousse tout de même fortement à la programmation spaghetti.

Faux.

Au début tu spaghettises, après t'apprends à faire des sous-fonctions ("DECLARE SUB" tongue) et des boucles propres.

et moi qui pensais passé pour un fou avec mes "sub" ...


Tout ce qui a été crée par l'Homme devrait être patrimoine de l'humanité
Vous etes perdu ?, là ce sera trop loin

Hors ligne

#58 Le 09/03/2010, à 17:12

Grünt

Re : Java, Python, C... J'ai mal à la tête.

DrDam a écrit :
ǤƦƯƝƬ a écrit :
Le Farfadet Spatial a écrit :

Par contre, Basic pousse tout de même fortement à la programmation spaghetti.

Faux.

Au début tu spaghettises, après t'apprends à faire des sous-fonctions ("DECLARE SUB" tongue) et des boucles propres.

et moi qui pensais passé pour un fou avec mes "sub" ...

Mais non, c'est très bien les SUB.

Quand tu veux faire des fractales (Mandelbrot, Julia), par exemple, vaut mieux faire des SUB de multiplication, division, addition, de tes nombres complexes (vu que QBASIC ne les gère pas en natif), et les appeler à chaque fois que t'en as besoin.


Red flashing lights. I bet they mean something.

Hors ligne

#59 Le 09/03/2010, à 17:23

Gage

Re : Java, Python, C... J'ai mal à la tête.

Ou créer une classe "complexe" avec les méthodes qui vont bien.

Ou utiliser un langage qui gère nativement les nombres complexes, comme Python (cela dit, s'ils n'étaient pas gérés nativement, ils n'y seraient pas difficiles à implémenter, d'autant que tu peux surcharger les opérateurs pour les voir comme des nombres tout à fait "normaux").


Ça, ce sont les sources. Le mouton que tu veux est dedans.
Merci, c'est tout à fait comme ça que je le voulais ! Crois-tu qu'il faille beaucoup de ressources à ce mouton ? Parce que ma config est toute petite...
Ça devrait aller. Tu peux te compiler un petit mouton.
Pas si petit que ça. Tiens ! il s'est mis en veille...

Hors ligne

#60 Le 09/03/2010, à 17:43

L33thium

Re : Java, Python, C... J'ai mal à la tête.

Skadi a écrit :
Koshie-2.0 a écrit :

et participer à des projets populaire et aider.

Je crois surtout que tu prends le problème à l'envers...

Si tu veux aider des logiciels déjà existants, regarde plutôt quels langages ils utilisent.

Car si tu es un dieu du C et que le projet est codé majoritairement en python, tu auras l'air fin. tongue

Ou pas.

C'est le point fort que j'ai trouvé à python, il peut s'interface facilement avec n'importe quel langage, quand on a besoins de performances, on peut lui coder des modules en C qu'on appelera dans son script python.

Grace à ça, malgré que ce soit un langage interpreté de très haut niveau, dans certains usages les performances d'un script python peuvent être très proche d'un binaire écrit C.

Hors ligne

#61 Le 09/03/2010, à 18:15

kaoron

Re : Java, Python, C... J'ai mal à la tête.

L33thium a écrit :
Skadi a écrit :
Koshie-2.0 a écrit :

et participer à des projets populaire et aider.

Je crois surtout que tu prends le problème à l'envers...

Si tu veux aider des logiciels déjà existants, regarde plutôt quels langages ils utilisent.

Car si tu es un dieu du C et que le projet est codé majoritairement en python, tu auras l'air fin. tongue

Ou pas.

C'est le point fort que j'ai trouvé à python, il peut s'interface facilement avec n'importe quel langage, quand on a besoins de performances, on peut lui coder des modules en C qu'on appelera dans son script python.

Grace à ça, malgré que ce soit un langage interpreté de très haut niveau, dans certains usages les performances d'un script python peuvent être très proche d'un binaire écrit C.

Et on peut écrire des modules python compilés avec un langage très proche de python, comme Cython/Pyrex. Ou utiliser des types C avec ctypes...

C'est beau python.

#62 Le 09/03/2010, à 18:28

Le Farfadet Spatial

Re : Java, Python, C... J'ai mal à la tête.

Salut à tous !

ǤƦƯƝƬ a écrit :

Faux.

Au début tu spaghettises, après t'apprends à faire des sous-fonctions ("DECLARE SUB" tongue) et des boucles propres.

Je ne suis ni le premier, ni le seul à le dire.

   Il est certes possible de faire des sous-programmes en Basic. Il n'empêche que c'est un langage qui permet très facilement de faire du code spaghetti. De toute façon, je ne trouve pas intéressant pédagogiquement de dire : « commence par faire sale, ensuite on reviendra sur les mauvaises habitudes ». Le cerveau est neutre, il apprend tout, le bon comme le mauvais. Par contre, revenir sur des habitudes est long et difficile.

   Franchement, je ne vois pas en quoi Python est plus compliqué que Basic. Par contre, il permet plus facilement d'opter pour un style de programmation propre et efficace et il dispose de bibliothèques très fournies.

   Cela dit, c'est lassant : ce fil de discussion redit exactement les mêmes choses que bien d'autre. Au vu de la demande des utilisateurs, je me suis essayé à faire une première synthèse, des gens comme Link31 se sont embêtés à réfléchir dessus et à argumenter. Tout ça pour que l'on refuse de la lire et que l'on répète sempiternellement les mêmes choses. Cette synthèse n'est peut-être pas parfaite, mais pourquoi ne pas se baser dessus et venir y poser les questions qui subsisteraient, ce qui permettrait de l'améliorer en plus ?

   À bientôt.

                                                                                                                                             Le Farfadet Spatial

Hors ligne

#63 Le 09/03/2010, à 18:57

DrEmixam

Re : Java, Python, C... J'ai mal à la tête.

Ph3nix_ a écrit :
ilagas a écrit :

pour commencer y a pas mieux que le C
pour approfondir le c++ aprés le choix du language ce sera selon ce que tu veux faire smile

+1

Le C permet de comprendre la machine, la pile, les adresses (les pointeurs), la gestion de la mémoire, les I/O, les processus, les signaux, le système de fichier, l'encode des caractères.

Avec le C on peut tout faire: une application entière, de l'interface à l'accés à la base.
De plus c'est un langage orienté objet même si les principaux principes ne sont pas implémentés.

Rien de mieux. La syntaxe est compliqué mais elle est significative.

Le paradigme objet n'est pas indispensable et est de toute façon pas maitrisé par les novices, c'est pourquoi commencer par le Java, php ou python ne sert a rien.. Si ce n'est produire des lignes de code pourri.

Si le C te semble trop inabordable, et bien autant commencer par le Pascal.

Totalement d'accord, par contre je trouve la syntaxe très simple au contraire en C…
En fait ca dépend de ce qu'on veut, si on veut juste bricoler des petits trucs sans avoir l'intention d'évoluer vers de plus gros trucs, commencer par python ou des langages du genre peut convenir, mais si on veut réellement coder et comprendre comment ca fonctionne je vois pas mieux que commencer par le C et le C++

Hors ligne

#64 Le 09/03/2010, à 19:10

inconnu

Re : Java, Python, C... J'ai mal à la tête.

Le Farfadet Spatial a dit

Il est certes possible de faire des sous-programmes en Basic. Il n'empêche que c'est un langage qui permet très facilement de faire du code spaghetti. De toute façon, je ne trouve pas intéressant pédagogiquement de dire : « commence par faire sale, ensuite on reviendra sur les mauvaises habitudes ». Le cerveau est neutre, il apprend tout, le bon comme le mauvais. Par contre, revenir sur des habitudes est long et difficile.

Le basic était bien plus populaire que le python, je crois que c'est indéniable. Et c'est sûrement parceque c'était facile de faire des programmes sans utiliser de sous programmes , en linéaire. Bien sûr, un programme en linéaire c'est plus difficile à maintenir, à mettre à jour, à enrichir. En ce sens ok, c'est une mauvaise habitude pour les grands programmes. Seulement, tout le monde n'a pas l'ambition (ou même l'énergie ou la capacité ou le temps) de faire de la programmation professionnelle (edit : je veux dire des grands programmes).

Si certains ont envie de faire de la programmation linéaire pour s'amuser et parceque c'est plus facile, où est le problème ?

edit : je me suis lancé dans le C, pour mieux comprendre comment marche ma machine. C'est passionnant. smile
et ton fil récapitulatif Le Farfadet Spatial est super, c'est une mine d'infos et de références.

Dernière modification par shlok (Le 09/03/2010, à 19:23)

#65 Le 09/03/2010, à 19:26

gerarmentor

Re : Java, Python, C... J'ai mal à la tête.

Java, Python.... mais pourquoi on ignore souvent Perl ?

Je n'y connais pas grand chose, mais ce langage paraît complet et puissant. De plus les linuxiens qui connaissent  Bash, Sed Awk, Grep vont trouver beaucoup de similitudes.

Pour les programmes avec interface graphique, on peut faire apparemment autant de choses en GTK avec Perl qu'avec Python (par contre en QT4 je ne pense pas).

Hors ligne

#66 Le 09/03/2010, à 19:26

bloublou

Re : Java, Python, C... J'ai mal à la tête.

grim7reaper a écrit :
louiz' a écrit :

« using namespace std », c'est confusant

Confusant !?

Ouais, j'aime ce mot imaginaire, pas toi ? smile

En tout cas un "using namespace std" c'est à bannir dans la portée générale (Cf. Le Farfadet Spatial entre autre)

Voilà.

louiz' a écrit :

Un main c'est « int main (void) » ou « int main(int ac, char** av) »

Fail smile, en C++ "int main()" est parfaitement valide, portable et standard (Cf. Stroustrup).

Oui, vrai.
Sauf que lui, il n'a pas mis le « int », et c'est surtout ça que je voulais faire remarquer.
donc demi-fail

louiz' a écrit :

pour le \n → std::endl

Re-Fail smile, "\n" n'a pas du tout le même comportement que "std::endl". En plus de faire un retour à la ligne en ajoutant un caractère '\n', std::endl purge le buffer de sortie et force ainsi son écriture en appelant ostream::flush() (cela a le même fonctionnement que la fonction fflush() du C).

Et ben justement… Si tu veux faire un hello world, tu veux flusher le buffer…
Donc rien de fail ici.

Hors ligne

#67 Le 09/03/2010, à 20:44

Keldath

Re : Java, Python, C... J'ai mal à la tête.

Gage a écrit :

(Python) depuis sa version 3.0, un support intégral de l'Unicode

Ruby supporte depuis bien plus longtemps UTF-8 que Python. Testé avec Ruby 1.8 :

#!/usr/bin/ruby -Ku

def √ x
    Math.sqrt x
end

puts √ 4

L'un comme l'autre sont des langages où tu peux faire de la programmation par objets, mais où c'est optionnel. Disons qu'en Python (je connais mal Ruby), tout est objet

Ruby est encore plus objet que Python :
Taille d'un conteneur en Python -> len(tableau), en Ruby -> tableau.length
Ou encore les conversions de type en type :
En Python -> str(42), en Ruby -> 42.to_str (etc)

Et Ruby différencie méthode privée/publique, Python laisse ça aux conventions de nommage (underscores devant les noms de méthodes privées, jn'apprécie pas trop à vrai dire).

Python a pour lui d'avoir un interpréteur en Java (et donc la portabilité y associée), ce que je ne crois pas qu'on trouve pour Ruby

Y'a http://en.wikipedia.org/wiki/JRuby ?

Dommage que je fasse beaucoup plus de Python que de Ruby, car je préfère de loin ce dernier (puis RoR : wah).

Hors ligne

#68 Le 09/03/2010, à 20:52

kaoron

Re : Java, Python, C... J'ai mal à la tête.

Ruby est encore plus objet que Python :
Taille d'un conteneur en Python -> len(tableau), en Ruby -> tableau.length
Ou encore les conversions de type en type :
En Python -> str(42), en Ruby -> 42.to_str (etc)

Syntaxe. En dessous c'est de l'objet, si, si.

#69 Le 09/03/2010, à 20:52

inconnu

Re : Java, Python, C... J'ai mal à la tête.

Et je rajouterai sur les "grands programmes" (un peu de provoc ne fait pas de mal), les gens demandent de plus en plus des programmes simples, bref des petits programmes. Oui, les usines à gaz dont on se sert de 1% c'est has-been. tongue [/provoc]

Dernière modification par shlok (Le 09/03/2010, à 20:53)

#70 Le 09/03/2010, à 21:04

Keldath

Re : Java, Python, C... J'ai mal à la tête.

kaoron a écrit :

Ruby est encore plus objet que Python :
Taille d'un conteneur en Python -> len(tableau), en Ruby -> tableau.length
Ou encore les conversions de type en type :
En Python -> str(42), en Ruby -> 42.to_str (etc)

Syntaxe. En dessous c'est de l'objet, si, si.

Je sais. Seulement quand je fais de l'objet, j'aime que tout soit objet (par habitude, goût), je trouve ça plus cohérent au niveau de l'écriture du code (et écrire "toto".__len__(), c'moche).

Dernière modification par Keldath (Le 09/03/2010, à 21:14)

Hors ligne

#71 Le 09/03/2010, à 21:14

Xarkam

Re : Java, Python, C... J'ai mal à la tête.

Si tu veux faire des trucs sans te poser trop de question, il est un fait que python est installé sur toute les dristrib.
(ainsi que le perl)

Ensuite, tu veux faire quoi ? des bidouilles pour jouer ou plus quelque chose d'inter-opérable qui sera sous windows et macos aussi?

Si tu veux apprendre un langage pour faire quelque chose de grand, prend python, il suffit de voir openerp qui est fait avec python.

tout n'est que plaisir avec la syntaxe d'une langage.
Moi j'ai commencé la prog avec dbase3+ puis turbo pascal.
Je me suis mis au c# (et osef que c'est du ms, c'est pas la le sujet du fil) pour faire une appli ast.net et voir un peut ce que ca donne.
J'ai fait des trucs début des années 2000 en php maintenant je veux voir l'autre face histoire de pas juste avoir une argumentation type php ca rox du poney.

Donc, au final, ce n'est pas une question de telle ou telle langage, mais plutot de syntaxe. Trouve celle qui te plait et tu ne prendra que plus de plaisir à coder.


Osames Manager
---
Asus Rampage V Extrême | Intel i7 5820K | Corsair 16GB DDR4 | NVIDIA GeForce 770GTX
Utilisateur d'Ubuntu, Debian, et Windows

Hors ligne

#72 Le 09/03/2010, à 21:22

inconnu

Re : Java, Python, C... J'ai mal à la tête.

il y a aussi la question, au delà de la logique libriste :

- quel langage pour trouver un emploi ?

là je dirai, à court terme php. non ?

#73 Le 09/03/2010, à 21:26

Gage

Re : Java, Python, C... J'ai mal à la tête.

Koshie-2.0 a écrit :

En faite, j'aimerai m'amuser mais me rendre utile, créer des petits softs à la con et participer à des projets populaire et aider.

Il n'a jamais parlé de trouver un emploi tongue.


Ça, ce sont les sources. Le mouton que tu veux est dedans.
Merci, c'est tout à fait comme ça que je le voulais ! Crois-tu qu'il faille beaucoup de ressources à ce mouton ? Parce que ma config est toute petite...
Ça devrait aller. Tu peux te compiler un petit mouton.
Pas si petit que ça. Tiens ! il s'est mis en veille...

Hors ligne

#74 Le 09/03/2010, à 21:33

inconnu

Re : Java, Python, C... J'ai mal à la tête.

a gage
hoooo tu sais j'entends des voix des fois . big_smile

#75 Le 09/03/2010, à 21:43

Le Farfadet Spatial

Re : Java, Python, C... J'ai mal à la tête.

Salut à tous !

shlok a écrit :

Si certains ont envie de faire de la programmation linéaire pour s'amuser et parceque c'est plus facile, où est le problème ?

Trois mois plus tard, on y comprend plus rien -- je le sais, j'ai fait de la programmation spaghetti, c'est d'ailleurs pour cela que j'essaye de faire en sorte que les autres évitent les difficultés que j'ai moi-même rencontrés. Un code, on le fait pour le réutiliser, même si c'est un petit machin.

et ton fil récapitulatif Le Farfadet Spatial est super, c'est une mine d'infos et de références.

Je te remercie. Cependant, mon objectif n'était pas de me faire lancer des fleurs (même si ça fait du bien à l'ego), mais d'essayer d'arriver à faire en sorte que nous puissions répondre efficacement à la question « quel langage choisir pour débuter ».

Et je rajouterai sur les "grands programmes" (un peu de provoc ne fait pas de mal), les gens demandent de plus en plus des programmes simples, bref des petits programmes. Oui, les usines à gaz dont on se sert de 1% c'est has-been. tongue [/provoc]

Alors là, tu prêches un convaincu, c'est d'ailleurs l'approche Unix. Justement : faire un code qui ne fait qu'une seule chose, mais qui le fait bien, participe de la logique de structuration. Les procédures et fonctions, ce n'est pas pour faire des programmes plus longs, c'est pour les structurer et les rendre maintenables et utilisables.

   À bientôt.

                                                                                                                                 Le Farfadet Spatial

Hors ligne