Programmation Orientée objet en C++
Chapitre 1. Vocabulaire
Chapitre 2. Principes de la programmation objet
2.1. La programmation procédurale
2.2. Les objets
2.3. L'héritage
2.4. Le polymorphisme
2.5. Les langages orientés objets
Chapitre 3. Du C au C++
Chapitre 4. Les classes
Page d'accueilTable des matièresNiveau supérieurPage précédenteBas de la pagePage suivante

2.5. Les langages orientés objets

Un langage est orienté objet s’il possède les mécanismes supportant le style de programmation orienté objet, c’est à dire, s’il autorise les facilités inhérentes à ce type de programmation.

Le C++ est sans contexte le langage objet le plus utilisé. C’est néanmoins un langage hybride autorisant à la fois la programmation procédurale dite « classique » mais aussi et surtout la programmation orientée objet.
Ses avantages sont sans contexte son efficacité et sa portabilité. Il possède un typage fort et est supporté par nombres d’ateliers de génie logiciel.
Néanmoins, tout n’est pas rose dans ce bas monde, il possède quelques défauts (ou qualité selon ses affinités!) comme l’absence de gestion automatique de la mémoire (le fameux ramasse-miette que l’on retrouve en Lisp et en Java par exemple) ou l'introspection. Il est également complexe et réservé aux expert (là encore, ce point est discutable). Ces critiques peuvent se discuter et font souvent l'objet de guerilla C++/Java par exemple !

Le C++ a été conçu par Bjarne Stroustrup aux laboratoires ATT & Bell. C’est une extension (d’ou l’opérateur ++ d’incrémentation de C) du langage C.
Il vise trois objectif : efficacité, vérification de types, programmation orientée objet.

Quelques points de repères historiques :
• 1978 : La langage C de Kernighan et Ritchie, ATT & Bell Laboratory
• 1980 : SmallTalk 80 de Goldberg du Xerox Palo Alto Research Center.
• 1983 : C++ de Stroustrup de ATT & Bell – c’est aussi le C ANSI qui est crée à cette époque.
• 1985 : Commercialisation C++ Version 1 – liaison dynamique, surcharge des opérateurs, références.
• 1987 : Début des efforts de normalisation
• 1989 : C++ Version 2 – héritage multiple
• 1991 : C++ Version 3 – classes paramétrées (templates), exceptions
• milieu 1990 : Normalisation ANSI su C++
• 1995 : JAVA

Page d'accueilTable des matièresNiveau supérieurPage précédenteHaut de la pagePage suivante