Introduction au C++
Né en 1983 du génie de Bjarne Stroustrup, à l’époque chercheur chez AT&T, le C++ fait partie des 5 premiers langages les plus utilisés au monde.
Les domaines d’application sont les plus variés: des jeux aux applications en temps réel, des composants pour les systèmes d’exploitation aux logiciels graphiques et musicaux, des applications mobiles aux systèmes de superordinateurs. Fondamentalement, le C++ est partout.
Au fil des ans, il y a eu différentes versions de ce langage de programmation, introduisant divers changements et certaines fonctionnalités qui en font toujours un langage absolument important et moderne.
Programmation Orientée Objet
C++ est un langage conçu pour la programmation orientée objet, ce qui en fait une plate-forme idéale pour la réalisation de projets de grande ampleur, favorisant l’abstraction des problèmes.
Cela nous permet de développer des logiciels selon les modèles de conception les plus modernes: de nombreuses bibliothèques sont prêtes et réutilisables. Elles peuvent être intégrées aux projets grâce à des stratégies et des modèles de conception appropriés tels que des Adapter ou Facade.
Efficacité et polyvalence
C++ associe l’expressivité des langages orientés objet à l’efficacité et à la compacité du langage C dont il est issu et dont il hérite du “pouvoir”, de la flexibilité et la capacité à programmer à un bas niveau.
Cela nous permet d’écrire des programmes de toutes tailles, en utilisant une riche pile de frameworks pour coder à un niveau élevé, ou de travailler à un bas niveau jusqu’à l’agrégation des instructions d’assemblage.
Portabilité
Il existe de nombreux compilateurs C++ pratiquement pour toutes les plates-formes et systèmes d’exploitation, et avec les précautions nécessaires (souvent pas banales), vous pouvez penser à recompiler un logiciel et à l’exécuter dans de différents contextes d’application. Cela est dû au fait que le C++ est défini comme “standard”.
Il faut dire qu’en général le compilateur crée un code destiné directement au système d’exploitation, mais il existe aussi des cas dans lesquels le code source est compilé en bytecode pour s’exécuter sur des machines virtuelles, comme par exemple avec Visual C++ et le runtime CLR de Microsoft. Toutefois, dans ce cas également, des outils tels que Mono garantissent une certaine portabilité du code.
Malentendus: programmation procédurale ou orienté objet?
Pour plusieurs développeurs le C++, en particulier au cours de ses quinze premières années de vie, était un pont entre les langages procéduraux standard typiques, communs à de nombreux programmeurs passant généralement du C au C ++, avec un modèle de programmation orienté objet.
Cette dualité, qui aurait dû être un avantage, s’est souvent révélée être un problème pour ceux qui, habitués à une approche procédurale, ont été amenés à créer un mélange explosif de classes avec des centaines de lignes de code écrites avec une approche procédurale (monsters).
Aujourd’hui, grâce à la grande diffusion de la programmation orientée objet du niveau universitaire, la tendance à utiliser les méthodologies du langage procédural disparaît, bien que plus simple à certains égards, et elle limite l’utilisation de stratagèmes et de techniques de maintenance et de réutilisation du code.