C++, langage système et d'applications

Le langage C a été doté d'objets pour faciliter la représentation des entités à informatiser, et la réutilisation du code. Cela a permis de transformer ce langage système créé en 1972, en langage d'applications, le C++.

C++ a été créé en 1981 par Bjarne Stroutstrup, pour ajouter l'orientation objet au C tout en restant compatible avec lui et ainsi conserver ses avantages, notamment la portabilité entre systèmes.

Langage de programmation C++ pour systèmes

Le premier standard ISO pour le langage C++ date de 1998, c'est C++ 98. Une nouvelle version lui a succédé en 2011, c'est C++ 11.
Avec cette version qui n'apporte rien quand à la lisibilité et la modernité, le langage s'ancre dans son rôle d'outil système dont il a été détourné un temps, avant que n'apparaissent de nouveaux langages.

Même s'il est remplace par C# sur Windows et par Java pour la programmation portable et coté serveur, il reste le langage système le plus utilisé. Cependant on a pu utiliser JavaScript à cet usage et de nouveaux langages comme Dart pourraient le concurrencer un jour.

Caractéristiques de C++

C++ décrit des classes dans les fichiers d'en-tête, et le corps des méthodes dans les fichiers source. En déclarant des instances de classes vous pouvez réutiliser les ensembles de variables et méthodes sans avoir à les déclarer de nouveau.
La gestion de mémoire est inchangée par rapport à C.
La surcharge des fonctions permet de les déclarer avec des paramètres différents.
Les classes héritent les unes des autres et partagent leurs méthodes. L'héritage multiple lui est propre, cela n'a pas été repris dans les langages dérivés.

Outils pour C++

Librairies

Objective C

Objective C est une version de C orientée objet plus simple d'emploi que C++.

Exemple de code

Afficher les caractères d'une chaîne en C

string s = "demo" + "suffixe";
int l = s.length();
for(int i = 0; i < l; i++)
{
   char c = s[i];
   printf("%c\n", c);
} 
Langages de programmation AspectJ - Basic - C - CIL - C++ - C++11 - C# - Dart - Eiffel - Go - Java - JavaScript - JavaFX Script - Pascal - PHP - Python - QML - Rexx - Ruby - Scala - Scriptol - Tcl - HTML - XML - XAML - XUL - SQL