La plus grande différence fondamentale entre le langage informatique C sorti pour la première fois en 1972 et le langage de programmation C++ sorti en 1983, près de 10 ans plus tard, est que le C original est un exemple de langage informatique procédural, tandis que le C++ est une représentation des principes. de programmation orientée objet (POO). En conséquence, C++ prend en charge les classes et les objets, de nouvelles façons de structurer le code et de nouvelles façons de penser la programmation.
Un langage de programmation procédural utilise des appels de procédure pour exécuter des étapes séquentielles d'instructions informatiques en décomposant le code en variables, structures de données et sous-programmes.
La programmation orientée objet est un peu différente. Dans la programmation orientée objet, les objets contiennent divers attributs, ainsi que du code procédural appelé méthodes.
La philosophie des objets signifie que les programmes orientés objet fonctionnent de manière nouvelle et différente, comme en témoigne Bjarne Stroustrop, le créateur du C++, par exemple, dans un article de 1991 intitulé « Qu'est-ce que la « programmation orientée objet » ? dans lequel le programmeur présente les éléments essentiels qui distinguent les langages de programmation et les constructions POO des autres.
En particulier, C++ fournit des solutions telles que l'encapsulation et les espaces de noms pour les variables, et améliore certains processus de gestion des erreurs. Un autre aspect positif de la programmation orientée objet permet la réutilisation d'objets et diverses autres manipulations de l'objet en tant qu'élément de données. L'intersection des classes et des objets (et des instances d'objet) en dit long aux programmeurs sur les idées et les possibilités derrière la POO, distinguant cette approche des anciens modèles de code « linéaires » utilisés par les premiers langages tels que BASIC et Fortran. La POO constitue, à bien des égards, une divergence par rapport à l'ancienne méthode de calcul basée sur les lignes et une incursion dans le monde des objets virtuels et d'une modélisation de données plus sophistiquée.
La principale différence est que C++ s'appuie sur le langage C procédural en ajoutant les fonctionnalités qui représentent la philosophie de programmation orientée objet. Pour cette raison, le C++ est devenu largement utilisé à l'ère de la POO, en conjonction avec d'autres langages POO tels que Microsoft Visual Basic.