Le langage C++ a été conçu par Bjarne Stroustrup en 1982 dans le but de doter le langage C standard avec possibilités de Programmation Orientée Objet. Ce n'est certainement pas la confrontation entre deux approches de la programmation différentes, mais plutôt une greffe du concept Programmation Orientée Objet arrangé au profit du C classique.

C'est un des langages de 3ème génération le plus intéressant et pour n'importe quel OS ! Il permet d'utiliser l'API DirectX, Glide ou bien OpenGL, la librairie MFC, la librairie OWL, la GDI ( Graphic Devise Interface) de Windows...etc C'est, avec le C, un des meilleurs langages (rapport simplicité/capacités). Mais il offre en plus le concept de Programmation Orienté Objet (POO) ce qui représente vraiment un plus.

La POO est une nouvelle forme de programmation qui tend à s'étendre de plus en plus avec l'arrivée de systèmes de plus en plus compliqués et multi-tâches. De part sa structure, elle introduit le concept d'Objet. Mais cela est à relativiser pour le cas du langage C. La POO offerte n'est pas aussi pure et rébarbative que sur les langages Eiffel, Smalltalk ou Simula, mais plutôt un compromis entre entre deux visions de la programmation : la programmation en C et la POO .

La POO trouve son intérêt principal dans le fait que les systèmes deviennent multi-tâches (on peut regarder faire tourner plusieurs applications à la fois, regarder une vidéo, écouter de la musique...). La POO permet une protection du programme qui s'exécute et des données qui lui sont rattachées. Par le système d'encapsulation, les données ne peuvent être altérées, accessibles que dans des cas bien précis. On va parler de Classes publiques ou privées, c'est à dire accessible par tous ou non. Cette technique apporte une protection générale du programme.

L'autre apport de la POO est la mise à disposition de l'utilisateur et du programmeur d'Objets. Un Objet n'est rien d'autre qu'une grosse structure regroupant en son sein des fonctions et des données. Mais ces structures (appelées aussi Classes) contrairement aux structures d'un C, sont soumises au phénomène d'encapsulation (seules les fonctions faisant partie de cette structure peuvent agir sur ces données et inversement). Ces Objets , qui ne se justifient pas lorsque l'on travaille sous DOS où toutes les ressources systèmes sont à votre disposition, se révéleront très appréciables lorsque l'on voudra coder un programme tournant sur des plateformes multi-tâches sans risque de conflits (sur Windows ou Linux par exemple).

L'exemple le plus typique est sans doute la fenêtre classique Windows. S'il n'existait pas d'Objet "fenêtre", l'utilisateur serait dans l'obligation de concevoir lui-même cette fenêtre. Avec ce système, le C++ offre au programmeur la possibilité d'utiliser l'Objet pré-défini "fenêtre" par le système d'héritage et, le cas échéant, de modifier certaines des fonctions rattachées à cet Objet par le système de dérivation. On se crée, à partir d'un Objet standard pré-défini, son Objet à la carte (la fenêtre doit-elle être redimensionnable ? Peut-on la fermer, la bouger ? Quand doit-on la réafficher ? Etc...). On trouve aussi l'Objet "point" qui permet d'afficher un point dans une fenêtre ou bien l'Objet "bouton". Encore une fois, ces Objets sont modifiables de façon très simple (taille, couleur, position...etc pour "point" et taille, position, action lorsqu'on clique dessus...etc pour "bouton").

Pour terminer sur ce thème, je tiens à couper court à une idée reçue : dire qu'il vaut mieux apprendre à prorammer le C++ plutôt que le C est totalement absurde. Le C++ n'est qu'un ajout, un sur-ensemble au C standard des possibilités de la POO. Sans connaissances approfondies du C standard, la compréhension du C++ et la rédaction d'un listing est difficile. Une bonne connaissance du C est importante pour comprendre le concept ardu et parfois déroutant de la POO. Sachez qu'il est tout à fait possible d'écrire un programme Windows sans utiliser une seule possibilité du C++. Le C++ est une possibilité offerte pour doter le programme d'une plus grande fiabilité, mais nullement une voie incontournable. Mais c'est vrai que ce serait dommage de se passer de tous les avantages qu'il offre...

A propos du C++


 

 

HOME

NEWS
PROGRAMMATION
IRC
DIVERS
LEXIQUE
LIENS
LIRE GUESTBOOK
SIGNER GUESTBOOK
ECRIVEZ-MOI


(c) Jolou

 

 

 

 

 

 

 

 

 

 

 

 

Ecrivez moi : jolou77@caramail.com