Débuter, C++ ou Python ?

Bonsoir,

Il y a peu de temps que je découvre les ordinateurs ainsi qu’internet (et oui … tout le monde n’évolue pas au même rythme) et l’une des choses qui m’intéresse particulièrement est la programmation. En revanche, j’hésite entre deux langages : C++ ou Python. Je me suis un peu informé et j’ai découvert que le C/C++ était un langage de bas niveau … assez proche de l’ordinateur. Je pense qu’apprendre tel langage permet d’assimiler de bonnes choses et de prendre de bonnes habitudes de programmation mais j’ai peur que cela soit vraiment compliqué du fait que ce soit un langage bas niveau. De l’autre côté, il y a Python qui est selon les plusieurs sites où je me suis renseigné, un langage haut niveau. Ce langage me permettra probablement de faire rapidement de petites applications mais j’ai peur de prendre de mauvaise habitudes et que le passage à un prochain langage soit plus difficile.

Pourquoi je veux faire de la programmation … c’est l’une des choses qui m’intéresse avec le graphisme et c’est pour cela que je commence à découvrir peu à peu les ordinateurs ainsi qu’internet car je pense que cela me sera très utile par la suite. J’ai envie de découvrir un peu le fonctionnement de mon ordinateur ou de mes logiciels (je pense que la programmation a plus un rapport avec les logiciels que le système d’exploitation non ?). Et enfin, quand je serais vraiment très cultivé dans le domaine, j’aimerais faire un petit jeu en 2D ou en 3D isométrique (mais pas en 3D normal, je trouve que ce sont des projets de trop grande ampleur) mais je ne sais pas si le fait que le jeu soit en 2D ou 3D influe sur le langage de programmation à choisir ?

Deux dernière questions, j’ai vu qu’il était préférable de lire des cours sur l’algorithmique avant d’entamer la programmation … est-ce vraiment utile ? Que se passera t-il si je loupe cette étape ?
Si je prends le C++, suis-je obligé d’apprendre le C auparavant ?

Merci de vos réponses. Neo.
Edité le 11/07/2008 à 22:48

Pour le graphisme, c’est le C ou le C++ qui vont primer.

Pour apprendre, ça dépend de ce que tu veux faire? Si tu veux faire de la 3D, et des jeux, je te suggère de faire du C/C++.

D’autant que Python, c’est un langage scripté, avec un garbage collector (gestion de la mémoire), ce qui le rend plus souple mais moins puissant côté mémoire.

Pour le reste,

  1. apprendre C++ ou C revient au même. Ou plutôt, si tu fais du C++, tu vas apprendre en même temps le C pour faire du C++ car C++ ne fait que reprendre le C en ajoutant la Prog. Orienté Objet, le système d’exception, la surcharge d’opérateur, et deux trois autres conneries associées. Bien sûr, je ne dis pas que C++ = C. Mais juste que C compatible avec C++ et qu’ils sont assez proches.

  2. l’algorithmie me semble essentielle, du moins les bases (listes, ensembes, hashmap, etc)

Sinon, tu peux aussi envisager Java. L’avantage c’est que c’est un langage fortement typé, beaucoup plus strict de ce côté donc.

Tout pareil.
A noter que le C/C+ n’est pas un langage de bas niveau, l’assembleur, en est un par exemple.

Moi je conseillerais au contraire de commencer sur Python, qui est un langage très facile à appréhender, afin de saisir les bases de la programmation, et quelques notions d’algorithmie. Et ensuite seulement se mettre au C :slight_smile:

Essaye le D aussi :smiley:

Je vote pour Python, j’ai appris ca en premier et c’est tres motivant car on fait rapidement des programmes dont on peut etre fier, des programmes qui marchent. De plus tu as une foule de bibliotheques de fonctions qui te permettent de faire du graphisme ou n’importe quoi d’autre.

Bien sur ensuite apprendre le C++ c’est bien, ca fait des programmes plus rapides a l’execution, et puis c’est tres interessant. Mais apprendre d’abord le Python te permet de comprendre la programmation orientee objet, et donc ca aide beaucoup pour le C++. Il ne te restera plus qu’a comprendre un peu comment la memoire est geree, car comme l’a explique Sans-Nom en C++ on doit s’en occuper alors qu’en Python c’est a peu pres invisible.

note bien un dernier détail: Python est très peu typé contrairement au C/C++/Java.