à SUPINFO ils font ça dans l'ordre par contre. En première année on s'est tapé de l'algo, puis du C. (par contre après ça dépend aussi du prof ;D ) Mais bon si on commence à dire qu'il faut apprendre le C avant d'autres langages, j'ai bien envie de vous demander s'il faut pas apprendre l'assembleur avant le C ::) ::)
Et pourquoi ne pas aborder les vrais bases ? L'assembleur c'est du haut niveau. La couche la plus basse, c'est la logique booléenne et l'assemblage de portes logiques XOR, OR, NAND, AND et NOT pour fabriquer des mémoires, des additionneurs binaires, des comparateurs, etc..
(Je plaisante. Je suis un grand fan de la programmation objet !)
à SUPINFO ils font ça dans l'ordre par contre. En première année on s'est tapé de l'algo, puis du C. (par contre après ça dépend aussi du prof ;D )
Dans l'école (ESEO) où je travaille, on fait pareil. Math sup: de l'algorithmique avec un zest de code pour le faire fonctionner, Math Spe : du C. En année d'ingénieurs ensuite viennent les langages objets et autres. Et pourtant l'école n'est pas que tournée vers l'Info.
A l'IFSIC où je fait mes études nous a eu droit a: JAVA pendant les deux premières années. Et ensuite ils se sont dit qu'il pourrait être intéressant de faire du C (juste une UE hein pour pas trop nous fatiguer quand même ^^) Et aussi un zest d'assembleur.
C'est quand on fait de l'Objective-C qu'on se rend mieux compte que C est important.
bon, je n'ai jamais fait de Java! J'ai commencé par l'hexadécimal en direct, puis l'assembleur, le macro assembleur, le basic, le basic compilé, le pascal, le MPL (succédané de PL1) puis le C et le turbo C. Le premier langage objet que j'ai utilisé est le Visual Basic! Je ne suis pas passé par la case C++, et aujourd'hui j'utilise objective-C. Apprendre les langages dans cet ordre fait qu'aujourd'hui je considère les langages objets comme de simples manières de voir la programmation (et je suis toujours géné par l'opacité de leurs bibliothèques dont on ne connaà®t que les définitions et dont on ignore le contenu réel!). Alors, je dirai que, quelque soit le premier langage que vous avez découvert, soyez curieux et allez voir à coté (et même un peu plus loin). Et avant de parler langage pensez "cahiers des charges" et "analyse des problèmes à résoudre".
Oups, à vous lire je sens que je suis pas à ma place avec pour seul bagage un BTS action commerciale et heureusement que j'ai appris la programmation sans être passé par ce genre de sujet sinon j'aurais très certainement jamais mis les yeux dans un livre de langage informatique, pensant que cela devait être réservé aux ingénieurs...
C'est vrai que trouve ça dommage de ne pas approfondir plus des langages où la gestion de la mémoire est manuelle, parce que bon, ok le Java se développe, mais le Java c'est bien que pour certaines applis, après aller faire un CS4 en Java, va falloir une vie pour appliquer une pauvre petit filtre.
Par contre d'après ce que j'ai cru comprendre, la nouvelle version 2.0 de l'Objective-C qui sortira avec Léopard aura un pseudo "garbage collector" il me semble.
il ne faut pas confondre java le langage et java la plateforme
on peut très bien programmer un CS5 en java ce n'est pas plus problématique qu'avec autre chose. Java est un langage comme un autre ui se compile comme un autre et produit du code natif comme un autre.
les compilateurs de code java sont utilisé notamment dans l'embarqué.
ce n'est pas la programmation java pour la JVM puisque ne reste que le langage et non les librairies fournies avec la JVM. les Compilos fournissent des lib est suivant les cible et les environnement elles ne sont pas obligatoirement semblable à celle de la JVM. il n'y a pas nécessairement de garbage collector cela ne fait pas partit du langage mais de la JVM
Réponses
Mais bon si on commence à dire qu'il faut apprendre le C avant d'autres langages, j'ai bien envie de vous demander s'il faut pas apprendre l'assembleur avant le C ::) ::)
(Je plaisante. Je suis un grand fan de la programmation objet !)
Dans l'école (ESEO) où je travaille, on fait pareil. Math sup: de l'algorithmique avec un zest de code pour le faire fonctionner, Math Spe : du C. En année d'ingénieurs ensuite viennent les langages objets et autres. Et pourtant l'école n'est pas que tournée vers l'Info.
C'est quand on fait de l'Objective-C qu'on se rend mieux compte que C est important.
J'ai commencé par l'hexadécimal en direct, puis l'assembleur, le macro assembleur, le basic, le basic compilé, le pascal, le MPL (succédané de PL1) puis le C et le turbo C. Le premier langage objet que j'ai utilisé est le Visual Basic! Je ne suis pas passé par la case C++, et aujourd'hui j'utilise objective-C.
Apprendre les langages dans cet ordre fait qu'aujourd'hui je considère les langages objets comme de simples manières de voir la programmation (et je suis toujours géné par l'opacité de leurs bibliothèques dont on ne connaà®t que les définitions et dont on ignore le contenu réel!).
Alors, je dirai que, quelque soit le premier langage que vous avez découvert, soyez curieux et allez voir à coté (et même un peu plus loin). Et avant de parler langage pensez "cahiers des charges" et "analyse des problèmes à résoudre".
il ne faut pas confondre java le langage et java la plateforme
on peut très bien programmer un CS5 en java ce n'est pas plus problématique qu'avec autre chose.
Java est un langage comme un autre ui se compile comme un autre et produit du code natif comme un autre.
Si ma mémoire est bonne XCode contient un compilateur java pour OSX
http://gcc.gnu.org/java/
les compilateurs de code java sont utilisé notamment dans l'embarqué.
ce n'est pas la programmation java pour la JVM puisque ne reste que le langage et non les librairies fournies avec la JVM.
les Compilos fournissent des lib est suivant les cible et les environnement elles ne sont pas obligatoirement semblable à celle de la JVM. il n'y a pas nécessairement de garbage collector cela ne fait pas partit du langage mais de la JVM
Enfin la JVM est une machine virtuelle qui exécute du byte code et non du java
on peut utiliser d'autre langage pour générer ce byte code
je n'ai pas connaissance d'un tel compilateur mais un C++ pour JVM est tout a fait envisageable.
pourquoi pas un compilateur objective-c pour JVM la JVM est une architecture cible comme une autre.
il existe http://fr.wikipedia.org/wiki/Scala_(langage)
http://kenai.com/projects/duby
http://clojure.org/
http://groovy.codehaus.org/
http://ioke.org/
http://www.mozilla.org/rhino/ (javascript pour JVM)
A+JYT