Un mot sur ce cours


Avec ce site, j'ai décidé de partager avec vous tout ce que je sais sur le C++ et la programmation. Pourquoi? Il y a bien des années, je me suis initié à la programmation avec le QuickBasic. Avec le temps, j'ai commencé à programmer des choses plus compliquées, jusqu'à programmer mon premier jeu en 256 couleurs et tout et tout. C'est à ce moment là que j'ai commencé à m'interesser à d'autres langages: d'abord l'Assembleur (pas ambitieux, déjà, le môme!), puis le Turbo Pascal... et inévitablement le C/C++. Cependant, c'était trop nouveau et trop compliqué, et je n'ai pas essayé plus que ça de m'y mettre. Je suis donc resté avec mon Basic, pendant trop longtemps.

Après avoir ingurgité 4 ou 5 livres sur le C++, ma cervelle à finalement daigné lui faire une place, et l'y voilà solidement ancré depuis. Seulement voilà : ce fut long et douloureux. Et puis à l'époque, je n'avais pas internet.

Avec ce site, j'espère donc pouvoir vous faire voir le C++ d'une manière moins austère, et vous faire gagner le temps que j'ai moi-même perdu (je tourne ça un peu au mélodrame, mais en fait je m'amuse comme un fou a faire ce site, alors ça va).

Voici ce qu'il vous faut étudier en particulier, selon votre niveau de compétences :

    La programmation fait partie du domaine technique et scientifique. Elle nécessite un esprit relativement logique et énormément de rigueur. De plus, pour certaines applications, il faut quelques connaissances en mathématiques afin de pouvoir mettre un problème sous forme d'équations que le programme pourra manipuler. Durant ce cours, je vais essayer de ne pas m'aventurer trop loin sur le sentier des mathématiques, mais il m'arrivera de parler de vecteurs, de points et de coordonnées dans le plan et dans l'espace, de nombres complexes, et bien sûr d'utiliser toutes les fonctions usuelles des mathématiques (sinus, cosinus, racine carrée, élévation à la puissance...), qui sont à la base de nombreux algorithmes permettant de faire des choses passionnantes (vous n'imaginez pas l'abstraction des calculs d'images 3D, c'est un vrai calvaire!) Un rappel de toutes ces notions mathématiques est au-delà de l'objectif de ce cours. Je rappellerai rapidement à quoi correspondent toutes ces notions au moment où je m'en servirai pour la première fois, mais je vous conseille de vous renseigner pas vous-même si tout cela est trop obscur ou trop lointain. Le mieux est encore de demander des explications à quelqu'un de votre entourage qui étudie ou qui s'y connaît. Rassurez-vous cependant, l'important dans ce cours, c'est de comprendre la logique employée, pas les formules utilisées!

Nombreux sont ceux qui se sont renseignés sur le problème d'apprendre un langage (Dis, quel langage de programmation il faut que j'apprenne pour devenir riche et célèbre?) et à qui on a répondu qu'il fallait d'abord apprendre le C car le C++ n'était que l'étape d'après. Pour savoir ce que j'en pense, allez voir Pour ceux qui connaissent le C. Vous y constaterez que je pense qu'on peut tout à fait apprendre le C++ directement, et qu'au final, vous en aurez moins à apprendre qu'en apprenant le C, puis le C++ ensuite.

Avec chaque cours, je fournis un ou plusieurs programmes d'exemple. Quand ces programmes ne sont pas longs, il sont recopiés en intégralité, mais de toute façon, il y a un fichier par chapitre de cours, et le mieux est encore d'ouvrir ces fichiers séparément pour pouvoir travailler dessus.

Et puis bien sûr, il y a les inévitables exercices, sans lesquels on n'apprend rien (et pour ceux qui continuent de croire le contraire, tant pis pour eux. Pour ceux qui sont trop fainéants, comme moi, c'est moins déséspéré, mais tout aussi mal). La manière la plus simple de s'exercer est de prendre les exemples donnés en cours et de les étendre un peu, en rajoutant des variables, des calculs, des procédures, en modifiant le code pour faire apparaître des erreurs de compilation ou d'exécution... bref triturer les programmes pour comprendre pourquoi c'est fait comme ça et pas autrement. L'autre manière, c'est de faire d'autres programmes soi-même, qui utilisent presque tout ce qu'on a vu jusque-là. Ainsi, vous apprendrez mieux à mettre en pratique vos connaissances ; sachez qu'il est bien plus difficile pour le débutant de créer un nouveau programme ou projet que d'en modifier un existant. Vous serez plus vite en mesure de créer vos propres programmes. Pour cela, je vous ferai de petites suggestions à la fin de chaque cours. Si vous faites un programme qui ne fonctionne pas et dont vous ne trouvez pas le défaut, envoyez-moi par e-mail ce que vous avez fait, et je me ferai une joie de reprendre le problème et de vous donner des indices pour vous orienter vers une solution.

    Rassurez-vous, une fois que vous aurez assez de compétences, nous les mettrons en pratique avec un projet qui me semble très intéressant : j'ai nommé un Ray Tracer ! Si vous ne savez pas ce que c'est, je vous réserve la surprise. Sachez juste qu'il s'agit de calculs d'images 3D, et les résultats sont souvents étonnants... un programme dont vous serez fier, et que vous pourrez ensuite développer à votre guise.

Une fois que vous aurez vu tous les cours de ce site (ou presque), je ne saurez assez vous conseiller de jeter un coup d'oeil sur la bibliographie, car une fois qu'on a atteint un bon niveau, rien ne vaut un bon livre, la plupart du temps bien plus complet que n'importe quel site que vous pourrez trouver.

Voilà pour le bla bla introductoire (je sais, ça ne se dit pas, mais j'aime bien le mot). Vous êtes maintenant prêt(e) à passer à la suite : le cours d'histoire (vous êtes très impatients, je sais. C'est toujours l'histoire le plus interressant).

Bonjour John. Votre mission, si vous décidez de ne pas refuser de l'accepter de la mener à bien, sera de reprogrammer l'ordinateur central de la SPA pour trouver tous les laboratoires faisant des recherches sur les animaux, et libérer toutes ces pauvres créatures. L'agent Carl va vous fournir tous les détails et va vous former à cette mission. Comme toujours, si vous ou l'un de vos camarades de classe était capturé ou tué, le Front de Libération Des Animaux Sur Lesquels Des Méchants Monsieur Font Des Tests Atroces nierait avoir eu connaissance de vos agissements (en bref, tu te débrouilles tout seul, petit!). Cette page Web s'auto-rien-du-tout-ra dans 5 secondes. Bonne chance.


Voir aussi: Qu'est-ce qu'un programme - Les compilateurs - l'aspect technique - La logique de la programmation - Le programme - une suite d'instructions - Pour ceux qui connaissent le C - Les ouvrages à consulter