Você está na página 1de 12

Qu'est-ce que le C ?

Par M@teo21 et Nanoc

www.siteduzero.com

Dernire mise jour le 13/11/2011

Sommaire

1/11

Sommaire
Sommaire ........................................................................................................................................... 1 Informations sur le tutoriel ................................................................................................................... 0 Qu'est-ce que le C++ ? ....................................................................................................................... 2
Informations sur le tutoriel ................................................................................................................................................. 2 Les programmes ............................................................................................................................................................... 2 Les langages de programmation ....................................................................................................................................... 4 Le C++ face aux autres langages ..................................................................................................................................... 6
Le C++ : langage de haut ou de bas niveau ? ............................................................................................................................................................ 6 Rsum des forces du C++ ........................................................................................................................................................................................ 7 Petit aperu du C++ .................................................................................................................................................................................................... 8

La petite histoire du C++ ................................................................................................................................................... 8


De l'Algol au C++ ........................................................................................................................................................................................................ 8 Le concepteur .............................................................................................................................................................................................................. 9

Q.C.M. ............................................................................................................................................................................... 9
Lire aussi ................................................................................................................................................................................................................... 10

www.siteduzero.com

Qu'est-ce que le C++ ?

2/11

Qu'est-ce que le C++ ?


L'informatique vous passionne et vous aimeriez apprendre programmer ? Et pourquoi pas aprs tout ! La programmation peut sembler difficile au premier abord, mais c'est un univers beaucoup plus accessible qu'il n'y parat ! Vous vous demandez srement par o commencer, si le C++ est fait pour vous, s'il n'est pas prfrable de dmarrer avec un autre langage... Vous vous demandez si vous allez pouvoir faire tout ce que vous voulez, quelles sont les forces et les faiblesses du C++... Dans ce chapitre, je vais tenter de rpondre toutes ces questions.

Informations sur le tutoriel


Auteurs : Mathieu Nebra (M@teo21) Matthieu Schaller (Nanoc) Difficult : Temps d'tude estim : 30 minutes Licence :

N'oubliez pas : c'est un cours pour dbutants. Aucune connaissance pralable n'est requise. Mme si vous n'avez jamais programm de votre vie, tout ce que vous avez besoin de faire c'est de lire ce cours progressivement, sans brler les tapes et en pratiquant rgulirement en mme temps que moi ! Sommaire du chapitre :

Les programmes Les langages de programmation Le C++ face aux autres langages La petite histoire du C++ Q.C.M.

Les programmes
Les programmes sont la base de l'informatique. Ce sont eux qui vous permettent d'excuter des actions sur votre ordinateur. Prenons par exemple cette capture d'cran de mon ordinateur :

www.siteduzero.com

Qu'est-ce que le C++ ?

3/11

On y distingue 3 fentres correspondant 3 programmes diffrents. Du premier plan l'arrire-plan : Le navigateur web Google Chrome, qui permet de consulter des sites web. L'explorateur de fichiers, qui permet de grer les fichiers sur son ordinateur. Le traitement de texte Microsoft Word, qui permet de rdiger lettres et documents. Comme vous le voyez, chacun de ces programmes est conu dans un but prcis. On pourrait aussi citer les jeux, par exemple, qui sont prvus pour s'amuser : Starcraft II, World of Warcraft, Worms, Team Fortress 2, etc. Chacun d'eux correspond un programme diffrent. Tous les programmes ne sont pas forcment visibles. C'est le cas de certains programmes qui surveillent les mises jour disponibles pour votre ordinateur, ou, dans une moindre mesure, de votre antivirus. Ils tournent tous en "tche de fond", ils n'affichent pas toujours une fentre mais a ne les empche pas d'tre actifs et de travailler !

www.siteduzero.com

Qu'est-ce que le C++ ?

4/11

Les jeux vido (ici Starcraft II) sont le plus souvent dvelopps en C++

Moi aussi je veux crer des programmes ! Comment dois-je m'y prendre ?

Tout d'abord, commencez par mesurer vos ambitions. Un jeu tel que Starcraft II ncessite des dizaines de dveloppeurs plein temps pendant plusieurs annes. Ne vous mettez donc pas en tte des objectifs trop difficiles atteindre. En revanche, si vous suivez ce cours, vous aurez de solides bases pour dvelopper des programmes. Nous raliserons mme notre propre navigateur web (simplifi) comme Mozilla Firefox et Google Chrome au cours d'un TP ! Vous saurez crer des programmes constitus de fentres. Avec un peu de travail supplmentaire, vous pourrez mme crer des jeux 2D et 3D si vous le dsirez. Bref, avec le temps et force de persvrance, vous pourrez aller loin. Alors oui, je n'oublie pas votre question : vous vous demandez comment raliser des programmes. La programmation est un univers trs riche. On utilise des langages de programmation qui nous permettent d'expliquer l'ordinateur ce qu'il doit faire. Voyons voir plus en dtail ce que sont les langages de programmation.

Les langages de programmation


Votre ordinateur est une machine tonnante et complexe. A la base, il ne comprend qu'un langage trs simple constitu de 0 et de 1. Ainsi, un message tel que celui-ci :

1010010010100011010101001010111010100011010010
... peut signifier quelque chose comme "Affiche une fentre l'cran". Ouah ! Mais c'est super compliqu !

On va tre oblig d'apprendre ce langage ?

www.siteduzero.com

Qu'est-ce que le C++ ?

5/11

Heureusement non. S'il fallait crire dans ce langage (qu'on appelle langage binaire), il ne faudrait pas des annes pour concevoir un jeu comme Starcraft II mais plutt des millnaires (sans rire !). Pour se simplifier la vie, les informaticiens ont cr des langages intermdiaires, plus simples que le binaire. Il existe aujourd'hui des centaines de langages de programmation. Vous pouvez retrouver une liste des langages de programmation sur Wikipdia pour vous faire une ide. Chacun de ces langages a des spcificits, nous y reviendrons. Tous les langages de programmation ont un seul but : vous permettre de parler l'ordinateur plus simplement qu'en binaire. Voici comment a fonctionne : 1. Vous crivez des instructions pour l'ordinateur dans un langage de programmation (par exemple le C++ 2. Les instructions sont traduites en binaire grce un programme de "traduction". 3. L'ordinateur peut alors lire le binaire et faire ce que vous avez demand ! Rsumons ces tapes dans un schma : ).

Le fameux "programme de traduction" s'appelle en ralit le compilateur. C'est un outil indispensable. Il vous permet de transformer votre code, crit dans un langage de programmation, en un vrai programme excutable. Reprenons le schma prcdent et utilisons un vrai vocabulaire d'informaticien.

Voil ce que je vous demande de retenir pour le moment, ce n'est pas bien compliqu mais c'est la base connatre absolument ! Mais justement, comment dois-je faire pour choisir le langage de programmation que je vais utiliser ? Tu as toimme dit qu'il en existait des centaines ! Lequel est le meilleur ? Est-ce que le C++ est un bon choix ?

Les programmeurs (aussi appels dveloppeurs) connaissent en gnral plusieurs langages de programmation et non pas un seul. On se concentre rarement sur un seul langage de programmation. Bien entendu, il faut bien commencer par l'un d'eux. La bonne nouvelle, c'est que vous pouvez commencer par celui que vous voulez ! Les principes des langages sont souvent les mmes, vous ne serez pas trop dpayss d'un langage l'autre.

www.siteduzero.com

Qu'est-ce que le C++ ?

6/11

Nanmoins, voyons voir plus en dtail ce qui caractrise le C++ par rapport aux autres langages de programmation... Ben oui, c'est un cours de C++ ne l'oubliez pas ! Que vaut le C++ par rapport aux autres langages ?

Le C++ face aux autres langages Le C++ : langage de haut ou de bas niveau ?
Parmi les centaines de langages de programmation qui existent, certains d'entre eux sont plus populaires que d'autres. Sans aucun doute, le C++ est un langage trs populaire. Des sites comme langpop.com tiennent jour un classement des langages les plus couramment utiliss si cette information vous intresse. Comme vous pourrez le constater, le C, le Java et le C++ tiennent rgulirement le haut du classement. La question est : faut-il choisir un langage parce qu'il est populaire ? Il existe des langages trs intressants mais peu utiliss. Le souci avec les langages peu utiliss, c'est qu'il est difficile de trouver des gens pour vous aider et vous conseiller quand vous avez un problme. Voil entre autres pourquoi le C++ est un bon choix pour qui veut dbuter : il y a suffisamment de gens qui dveloppent en C++ pour que vous n'ayez pas craindre de vous retrouver tout seuls ! Bien entendu, il y a d'autres critres que la popularit. Le plus important mes yeux est le niveau du langage. Il existe des langages de haut niveau et d'autres de plus bas niveau. Qu'est-ce qu'un langage de haut niveau ?

C'est un langage assez loign du binaire (et donc du fonctionnement de la machine), qui vous permet gnralement de dvelopper de faon plus souple et rapide. Par opposition, un langage de bas niveau est plus proche du fonctionnement de la machine : il demande en gnral un peu plus d'efforts mais vous donne aussi plus de contrle sur ce que vous faites. C'est double tranchant. Le C++ ? On considre qu'il fait partie de la seconde catgorie : c'est un langage dit "de bas niveau". Mais que cela ne vous fasse pas peur ! Si programmer en C++ peut s'avrer assez complexe, vous aurez entre les mains un langage trs puissant et particulirement rapide. En effet, si l'immense majorit des jeux sont dvelopps en C++, c'est parce qu'il s'agit du langage qui allie le mieux puissance et rapidit. Voil ce qui en fait un langage incontournable. Le schma ci-dessous reprsente quelques langages de programmation, classs par "niveau" :

www.siteduzero.com

Qu'est-ce que le C++ ?

7/11

Vous constaterez qu'il est en fait possible de programmer en binaire grce un outil trs basique appel l'assembleur. Etant donn qu'il faut dployer des efforts surhumains pour coder ne serait-ce qu'une calculatrice, on prfre le plus souvent utiliser un langage de programmation. La notion de "niveau" est relative en programmation. Globalement, on peut dire que le C++ est "bas niveau" par rapport au Python, mais il est plus "haut niveau" que l'assembleur. Tout dpend de quel point de vue on se place.

Rsum des forces du C++


Il est trs rpandu. Comme nous l'avons vu, il fait partie des langages de programmation les plus utiliss sur la plante. On trouve donc beaucoup de documentation sur Internet et on peut facilement avoir de l'aide sur les forums. Il parat mme qu'il y a des gens sympas qui crivent des tutos pour dbutants dessus. Il est rapide, trs rapide mme, ce qui en fait un langage de choix pour les applications critiques qui ont besoin de performances. C'est en particulier le cas des jeux vido, mais aussi des outils financiers ou de certains programmes militaires qui doivent fonctionner en temps rel. Il est portable : un mme code source peut tre transform en excutable sous Windows, Mac OS et Linux thoriquement sans problme. Vous n'aurez pas besoin de rcrire votre programme pour d'autres plateformes ! Il existe de nombreuses bibliothques pour le C++. Les bibliothques sont des extensions pour le langage, un peu comme des plug-ins. De base, le C++ ne sait pas faire grand chose, mais en le combinant avec de bonnes bibliothques on peut crer des programmes 3D, rseau, audio, fentrs, etc. Il est multi-paradigme (outch !). Ce mot barbare signifie qu'on peut programmer de plusieurs faons diffrentes en C++. Vous tes encore un peu trop dbutants pour que je vous prsente tout de suite ces techniques de programmation, mais l'une des plus clbres est la Programmation Oriente Objet (POO). C'est une technique qui permet de simplifier l'organisation du code dans nos programmes et de rendre facilement certains morceaux de codes rutilisables. La partie II de ce cours sera toute entire ddie la POO !

Bien entendu, le C++ n'est pas LE langage incontournable. Il a lui-mme ses dfauts par rapport d'autres langages. On peut citer une certaine complexit : vous avez beaucoup de contrle sur le fonctionnement de votre ordinateur (et sur la gestion de

www.siteduzero.com

Qu'est-ce que le C++ ?


la mmoire) : c'est une puissance, mais si vous l'utilisez mal vous pouvez plus facilement faire planter votre programme. Ne vous en faites pas, nous dcouvrirons tout cela progressivement dans ce cours.

8/11

Petit aperu du C++


Pour vous donner une ide, voici un programme trs simple affichant le message "Hello world!" l'cran. Ce sera l'un des premiers codes source que nous tudierons dans les chapitres suivants. Code : C++ #include <iostream> using namespace std; int main() { cout << "Hello world!" << endl; return 0; }

La petite histoire du C++


La programmation a dj une longue histoire derrire elle. Au dbut, il n'existait mme pas le clavier pour programmer ! On utilisait des cartes perfores comme celle ci-dessous pour donner des instructions l'ordinateur :

Autant vous dire que c'tait long et fastidieux !

De l'Algol au C++
Les choses ont ensuite volu, heureusement. Le clavier et les premiers langages de programmation sont apparus : 1. 1958 : il y a longtemps, l'poque o les ordinateurs pesaient des tonnes et faisaient la taille de votre maison, on a

www.siteduzero.com

Qu'est-ce que le C++ ?

9/11

commenc inventer un langage de programmation appel l'Algol. 2. 1960-1970 : ensuite, les choses voluant, on a cr un nouveau langage appel le CPL, qui volua lui-mme en BCPL, puis qui pris le nom de langage B (vous n'tes pas obligs de retenir tout a par coeur hein ). 3. 1970 : puis, un beau jour, on en est arriv crer encore un autre langage qu'on a appel... le langage C. Ce langage, s'il a subi quelques modifications, reste encore un des langages les plus utiliss aujourd'hui. 4. 1983 : un peu plus tard, on a propos d'ajouter des choses au langage C, de le faire voluer. Ce nouveau langage, que l'on a appel "C++", est entirement bas sur le C. Le langage C++ n'est en fait rien d'autre que le langage C avec plusieurs nouveauts. Il s'agit de concepts de programmation pousss comme la programmation oriente objet, le polymorphisme, les flux... Bref, des choses bien compliques pour nous pour le moment, mais dont nous aurons l'occasion de reparler par la suite ! Une minute... Si le C++ est en fait une amlioration du C, pourquoi y a-t-il encore tant de gens qui dveloppent en C ?

Tout le monde n'a pas besoin des amliorations apportes par le langage C++. Le C est lui seul suffisamment puissant pour tre la base des systmes d'exploitation comme Linux, Mac OS X et Windows. Ceux qui n'ont pas besoin des amliorations (mais aussi de la complexit !) apportes par le langage C++ se contentent donc trs bien du langage C, et ce malgr son ge. Comme quoi, un langage peut tre vieux et rester d'actualit.

Le concepteur
C'est Bjarne Stroustrup, un informaticien originaire du Danemark, qui a conu le langage C++. Insatisfait des possibilits offertes par le C, il a cr en 1983 le C++ en y ajoutant les possibilits qui manquaient selon lui. Bjarne Stroustrup est aujourd'hui professeur d'informatique l'universit du Texas, aux Etats-Unis. Il s'agit d'une importante figure de l'univers informatique qu'il faut connatre, au moins de nom (du moins si vous arrivez retenir le sien ). De nombreux langages de programmation se sont par la suite inspirs du C++. C'est notamment le cas du langage Java. Le langage C++, bien que relativement ancien, continue tre amlior. Une nouvelle version, appele C++1x, est d'ailleurs en cours de prparation. Il ne s'agit pas d'un nouveau langage mais d'une mise jour du C++. Les nouveauts qu'elle apporte sont cependant trop complexes pour nous, nous n'en parlerons donc pas ici !

Q.C.M.
Le C++ a t invent parce que le C n'tait plus utilisable sur les nouveaux ordinateurs...
Vrai Faux

Par qui a t invent le C++ ?


Barje Stropsprout Bjerne Mangetasoupe Bjarne Stroustrup

Quel est le langage utilis par la majorit des jeux vido ?


Le C Le C++

www.siteduzero.com

Qu'est-ce que le C++ ?


Le Java L'Algol

10/11

Comment s'appelle l'outil qui fait la traduction de votre code crit dans un langage de programmation vers le langage binaire ?
L'articulateur Le pculateur Le compilateur

Le C++ est un langage...


De haut niveau De bas niveau

Correction !
Statistiques de rponses au QCM

Cette petite introduction avait pour but de vous faire dcouvrir les langages de programmation et de vous expliquer dans les grandes lignes comment tout ceci fonctionne. Rsumons : Les programmes sont la base de l'informatique. Ils demandent votre ordinateur d'excuter des actions. Pour crire des programmes, on utilise un langage de programmation. Il en existe des centaines. Le C++ est un des langages de programmation les plus utiliss dans le monde. Le C++ est un descendant du C. Il le complte en rajoutant un certain nombre de possibilits. Le C++ est un langage de bas niveau : il est plus proche du langage machine (le binaire) et peut parfois tre assez complexe. Le C++ est un langage extrmement rapide, ce qui en fait le langage de prdilection de la plupart des jeux vido avides de performances.

Nous n'avons encore rien manipul sur votre ordinateur, mais nous commencerons ds le prochain chapitre en installant les logiciels ncessaires pour programmer !

Lire aussi
Forum Tutoriels News OpenGL movement pixel par pixel trop lent garder fentre active C++ Logiciel ducatif Erreur lors de la compilation Problme Langage C++ Qu'est-ce que Python ? [C++] Notions avances Dveloppez vos jeux-vido 3D avec OpenGL 3.1 La saisie scurise en C++ Introduction au C++ Nokia cde la gestion des licences commerciales de Qt Digia Deuxime dfi Qt par Developpez.com : une application mobile pour hpital Le concours Prologin 2012 est lanc !

www.siteduzero.com

Qu'est-ce que le C++ ?


Des nouvelles du langage Ruby ! Le tutoriel C# s'enrichit de nouveaux chapitres !

11/11

www.siteduzero.com

Você também pode gostar