Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zér0 > Les tutoriels > Officiels > Programmation > Lecture du tutoriel

Vous avez dit "programmer" ?

Avatar
Auteur : M@teo21
Créé : le 06/08/2005 17:35:39
Modifié : le 23/04/2008 00:27:00
Noter et commenter ce tutoriel
Imprimer ce tutoriel
Bonjour ! Soyez les bienvenus dans mon cours de programmation en C / C++ pour débutants ! :)

Je serai votre guide (ou "professeur" si vous préférez ^^ ) tout au long de ce cours. Qui je suis moi ? Mon nom, ou plutôt mon pseudonyme, est M@teo21. J’ai déjà réalisé pour le Site du Zér0 plusieurs autres cours, notamment sur la création de sites web. Ce n’est donc pas la première fois que je rédige un cours pour débutants ^^

Mais assez parlé de moi, parlons plutôt de vous.
Vous êtes là pour une raison précise : vous voulez apprendre à programmer. Vous ne connaissez rien à la programmation, vous n’êtes même pas sûrs de bien savoir ce que c’est et pourtant… Vous voulez apprendre à programmer, ça y’a pas de doute.

Mais programmer en C / C++… Ca veut dire quoi ? Est-ce que c’est bien pour commencer ? Est-ce que vous avez le niveau pour programmer ? Est-ce qu’on peut tout faire avec ?
Ce chapitre a pour but de répondre à toutes ces questions apparemment bêtes, et pourtant très importantes.
Grâce à ces questions simples, vous saurez à la fin de ce premier chapitre ce qui vous attend. C’est quand même mieux de savoir à quoi sert ce qu’on va apprendre, vous trouvez pas ? :D
Sommaire du chapitre :
Sommaire Chapitre suivant

Programmer, c'est quoi ?

On commence par la question la plus simple qui soit, la plus basique de toutes les questions basiques :p
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 ;) Je pars de zéro pour ce cours, donc je vais devoir répondre à la question :

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 :lol:
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 ^^ ).

Image utilisateur
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 demande beaucoup 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 :D

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++" ? o_O

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 :D

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 ! :D ). On va au contraire s’en servir pour écrire des phrases comme :
"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 :

Image utilisateur
Schéma ( super-simplifié :p ) de réalisation d’un programme


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 :p

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 ! :) ), mais cela a aussi quelques petits défauts comme nous le verrons plus tard.

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 ^^ Ce sont juste quelques exemples en vrac qui me sont passés par la tête.
(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 :

Image utilisateur
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 :p
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 ^^ )

Qu’il n’y ait pas de malentendus. Le langage C++ n’est pas "meilleur" que le langage C, il permet juste de programmer différemment. Il permet disons aussi au final de programmer un peu plus vite et de mieux organiser le code de son programme.


Ce n’est PAS parce que Half-Life 2 a été codé en C++ qu’il faut absolument faire du C++ pour réaliser des jeux ou des programmes complexes.
Le langage C n’est pas un "vieux langage oublié", au contraire il est encore très utilisé aujourd’hui. Il est à la base des plus grands systèmes d'exploitation tels Unix (et donc Linux et Mac OS), ou encore Windows.

Retenez donc : le C et le C++ ne sont pas des langages concurrents, on peut faire autant de choses avec l’un qu’avec l’autre. Ce sont juste 2 manières de programmer assez différentes.

L’avantage, c’est qu’à la fin de ce cours vous saurez aussi bien programmer en C qu’en C++ selon vos besoins :)

Programmer, c'est dur ?

Voilà une question qui doit bien vous torturer l'esprit ^^
Alors : faut-il être un super mathématicien qui a fait 10 ans d'études supérieures pour pouvoir commencer la programmation ?

La réponse, que je vous rassure, est non ;)
Non, un super niveau en maths n'est pas nécessaire. En fait tout ce que vous avez besoin de connaître, ce sont les 4 opérations de base :

J'espère que vous connaissez tout ça ;) Et histoire d'en être sûr, je vous expliquerai dans un prochain chapitre comment l'ordinateur réalise ces opérations de base.

Bref, niveau maths, il n'y a pas de difficulté insurmontable :D
En fait, tout dépend du programme que vous allez faire : si vous devez faire un logiciel de cryptage, alors oui il vous faudra connaître des choses en maths. Si vous devez faire un programme qui fait de la 3D, oui il vous faudra quelques connaissances en géométrie de l'espace.

Chaque cas est particulier.
Pour apprendre le langage C / C++, vous n'avez pas besoin de connaissances pointues en quoi que ce soit.

Mais alors, où est le piège ? Où est la difficulté ?

Il faut savoir comment un ordinateur fonctionne pour comprendre ce qu'on fait. De ce point de vue-là, rassurez-vous, je vous apprendrai tout au fur et à mesure.

Un programmeur a aussi certaines qualités comme :

En bref, et pour faire simple, il n'y a pas de véritables connaissances requises pour programmer. Un nul en maths peut s'en sortir sans problème, le tout est d'avoir la patience de réfléchir. Il y en a beaucoup d'ailleurs qui découvrent qu'ils adorent ça ! :)

Q.C.M.

Un langage de programmation haut niveau, c'est...
Quel type de fichier permet de créer la programmation ?
Entre le C et le C++, lequel de ces 2 langages permet de réaliser le plus de choses ?
Le programme chargé de traduire votre code d'un langage de haut niveau vers le langage binaire est appelé :
Quel langage allons-nous apprendre dans un premier temps ?


Pfiou ! Nous voilà enfin arrivés à la fin de ce premier chapitre :)
Vous n’avez pas vu une seule ligne de code, certes. On a profité de ce premier chapitre pour voir ce qu’était la programmation et ce que signifiait le C / C++. Maintenant, vous avez une meilleure idée de ce qui vous attend mais vous êtes encore loin d’avoir tout vu ! ^^

Dans le prochain chapitre, vous commencerez vos premières manipulations. En effet, vous allez installer les logiciels nécessaires à tout bon programmeur qui se respecte ;)
Sommaire Chapitre suivant
Auteur : M@teo21
Noter et commenter ce tutoriel
Imprimer ce tutoriel

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | Fil RSS | XHTML 1.0 | CSS 2.0
Edité par Simple IT SARL : Nous contacter | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 151 Zéros connectés | Requêtes SQL 10 requêtes | Temps de génération de la page : Total (SQL) 0.0903s (0.0667s)