télécharger 2.25 Mb.
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() On commence par la question la plus simple qui soit, la plus basique de toutes les questions basiques ![]() Si vous avez l'impression de déjà savoir tout ça, je vous conseille de lire quand même, ça ne peut pas vous faire de mal ![]() Que signifie le mot "programmer" ? Bon, je vais éviter de vous faire comme mon prof de français : je ne vais pas vous donner l'origine du mot "programmer". Et puis de toute façon si je vous disais que ça vient du latin programmeus je crois que vous auriez un peu de mal à me croire ![]() Simplement, programmer signifie réaliser des "programmes informatiques". Les programmes demandent à l'ordinateur d'effectuer des actions. Votre ordinateur est rempli de programmes en tous genres :
En bref, les programmes sont partout et permettent de faire à priori tout et n'importe quoi sur un ordinateur. Vous pouvez inventer un logiciel de cryptage révolutionnaire si ça vous chante, ou réaliser un jeu de combat en 3D sur Internet, peu importe. Votre ordinateur peut tout faire (sauf le café, mais j'y travaille ![]() ![]() Le célèbre jeu Half-Life 2, programmé en C++ Attention ! Je n'ai pas dit que réaliser un jeu vidéo se faisait en claquant des doigts. J'ai simplement dit que tout cela était possible, mais soyez sûrs que ça demandebeaucoup de travail Comme vous débutez, nous n'allons pas commencer par voir comment réaliser un jeu 3D. Ce serait du pur suicide ![]() Nous allons devoir passer par des choses très simples. Une des premières choses que nous verrons est comment afficher un message à l'écran. Oui, je sais ça n'a rien de très transcendant, mais rien que ça croyez-moi, c'est pas si facile que ça en a l'air ![]() Bon, c'est vrai que ça impressionne moins les copains, mais on va bien devoir passer par là. Petit à petit, vous apprendrez suffisamment de choses pour commencer à réaliser des programmes de plus en plus complexes. Le but de ce cours est que vous soyez capables de vous débrouiller tous seuls dans n'importe quel programme écrit en C ou C++. Mais tenez au fait, vous savez ce que c'est vous, cette histoire de "C / C++" ? ![]() Programmer, dans quel langage ? Votre ordinateur est une machine bizarre, c’est le moins que l’on puisse dire. On ne peut s’adresser à lui qu’en lui envoyant des 0 et des 1. Ainsi, si je traduis "Fais le calcul 3 + 5" en langage informatique, ça pourrait donner quelque chose comme : 0010110110010011010011110 (j’invente hein, je ne connais pas la traduction informatique par cœur :p) Ce que vous voyez là, c’est le langage informatique de votre ordinateur, appelé langage binaire (retenez bien ce mot !). Votre ordinateur ne connaît que ce langage-là et, comme vous pouvez le constater, c’est absolument incompréhensible, immonde et imbuvable ![]() Donc voilà notre premier vrai problème : Comment parler à l’ordinateur plus simplement qu’en binaire avec des 0 et des 1 ? Votre ordinateur ne parle pas l’anglais et encore moins le français. Pourtant, il est inconcevable d’écrire un programme en langage binaire. Même les informaticiens les plus fous ne le font pas, c’est vous dire ![]() Eh bien, l’idée que les informaticiens ont eue, c’est d’inventer de nouveaux langages qui seraient ensuite traduits en binaire pour l’ordinateur. Le plus dur à faire, c’est de réaliser le programme qui fait la "traduction". Heureusement, ce programme a déjà été écrit par des informaticiens et nous n’aurons pas à le refaire (ouf ! ![]() "Fais le calcul 3 + 5" Qui seront traduites par le programme de "traduction" en quelque chose comme : "0010110110010011010011110". Si on fait un schéma de ce que je viens de dire, ça donne quelque chose comme ça : ![]() Schéma ( super-simplifié ![]() Un peu de vocabulaire Là j’ai parlé avec des mots simples, mais il faut savoir qu’en informatique il existe un mot pour chacune de ces choses-là. Tout au long de ce cours, vous allez d’ailleurs apprendre pas mal de vocabulaire. Non seulement vous aurez l’air de savoir de quoi vous parlez, mais si un jour (et ça arrivera) vous devez parler à un autre programmeur, vous saurez vous faire comprendre. Certes, les gens autour de vous vous regarderont comme des extra-terrestres, mais ça il faudra pas y faire attention ![]() Reprenons le schéma qu’on vient de voir. La première case est "Votre programme est écrit dans un langage simplifié". Ce fameux "langage simplifié" est appelé en fait "langage de haut niveau". Il existe plusieurs "niveaux" de langages. Plus un langage est haut niveau, plus il est proche de votre vraie langue (comme le français). Un langage de haut niveau est donc facile à utiliser (chouette ! ![]() Il existe de nombreux langages de plus ou moins haut niveau en informatique dans lesquels vous pouvez écrire vos programmes. En voici quelques-uns par exemple :
Notez que je ne les ai pas classés par "niveau de langage", donc n'allez pas vous imaginer que le premier de la liste est plus facile que le dernier ou l'inverse ![]() (et d’avance désolé pour tous les autres langages qui existent, mais faire une liste complète serait vraiment trop long ![]() Certains de ces langages sont plus haut niveau que d’autres (donc en théorie un peu plus faciles à utiliser), on va voir un peu plus loin notamment ce qui différencie le langage C du langage C++. Un autre mot de vocabulaire à retenir est : code source. Ce qu'on appelle le code source, c'est tout simplement le code de votre programme écrit dans un langage de haut niveau. C'est donc vous qui écrivez le code source, qui sera ensuite traduit en binaire. Venons-en justement au « programme de traduction » qui traduit notre langage de haut niveau (comme le C ou le C++) en binaire. Ce programme a un nom : on l’appelle le compilateur. La traduction, elle, s'appelle la compilation. Très important : il existe un compilateur différent pour chaque langage de haut niveau. C’est d'ailleurs tout à fait logique : les langages étant différents, on ne traduit pas le C++ de la même manière qu’on traduit le Delphi Vous verrez par la suite que, pour les langages C / C++ par exemple, il existe même plusieurs compilateurs différents ! Il y a le compilateur écrit par Microsoft, le compilateur GNU etc. On verra tout ça dans le chapitre suivant. Heureusement, ces compilateurs-là sont quasiment identiques (même s’il y a parfois quelques "légères" différences que nous apprendrons à reconnaître). Enfin, le programme binaire créé par le compilateur est appelé : l’exécutable. C’est d’ailleurs pour cette raison que les programmes (tout du moins sous Windows) ont l’extension ".exe" comme EXEcutable. Reprenons notre schéma de tout à l’heure, et utilisons cette fois des vrais mots tordus d’informaticien. Ca donne : ![]() Le même schéma, avec le bon vocabulaire Pourquoi choisir d’apprendre le C / C++ ? Comme je vous l’ai dit plus haut, il existe de très nombreux langages de haut niveau. Doit-on commencer par l’un d’entre eux en particulier ? Grande question ![]() Pourtant, il faut bien faire un choix, commencer la programmation à un moment ou à un autre. Et là, vous avez en fait le choix entre :
Voilà en gros les raisons qui m’incitent à vous apprendre le langage C plutôt qu’un autre. Je ne dis pas qu’il faut commencer par ça, mais je vous dis plutôt que c’est un bon choix qui va vous donner de solides connaissances. Je vais supposer tout au long de ce cours que c’est votre premier langage de programmation, que vous n’avez jamais fait de programmation avant. Si, par hasard, vous avez déjà un peu programmé, ça ne vous fera pas de mal de reprendre à zéro ![]() Stop, il y a quelque chose que je ne comprends pas… Je vais apprendre un langage appelé "C / C++" ou je vais apprendre 2 langages : l’un appelé "C" et l’autre appelé "C++" ? La bonne réponse est que vous allez apprendre en fait 2 langages. Non, ça ne va pas faire 2 fois plus de travail ![]() Je m’explique. Le langage C et le langage C++ sont très similaires. Quand je désigne les 2 à la fois (comme je l’ai fait jusqu’ici), j’écris "C / C++". Voici ce qu’il faut savoir sur la différence entre les 2 avant de continuer :
Il y a plusieurs façons d’apprendre la programmation, je vous l’ai dit plus haut. Certaines personnes pensent qu’il est bien d’enseigner directement le C++. Elles n’ont peut-être pas tort. Après tout, si le C++ c’est du langage C "avec des trucs en +", ça revient un peu au même. Pourtant, moi (et cet avis n’engage que moi), je pense que ce serait mélanger les choses. Aussi j’ai décidé que j’allais séparer mon cours en 2 grosses parties :
Vu que vous aurez déjà appris le langage C dans un premier temps, quand on en viendra au langage C++ ça ira bien plus vite. Je n’aurai pas à vous réapprendre toutes les bases du C, j’aurai juste besoin de vous indiquer quels ajouts ont été faits dans le C++ (enfin, y’a de quoi dire quand même ![]() |
![]() | ![]() | ||
![]() | «Quoi ma gueule ?». Premiers évanouissements sur la pelouse. Soigner son entrée est une règle au music-hall. Celle-ci est inédite,... | ![]() | «de quoi?», IL est possible de répondre en énumérant tous les sous-thèmes dont IL est question dans le texte |
![]() | ![]() | «Follow me» ? «Follow me» c’est n’importe quoi : les participants sont manipulés, les séquences sont bidonnées, le public est influencé,... | |
![]() | ![]() | «La mathématique ne sait pas de quoi elle parle, ni si ce qu’elle dit est vrai.» | |
![]() | «les animaux qu’on y introduisait y périssaient en peu d’instant et les lumières s’y éteignaient sur le champ comme si on les eût... | ![]() | «mutation génétique» est utilisé pour désigner une modification irréversible de l'information |