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