C++ - Définition et Explications

Introduction

C++
C plus plus.svg

Apparu en 1983 (dernière révision en 2008)
Auteur Bjarne Stroustrup (Bjarne Stroustrup (11 juin 1950 à Aarhus, Danemark - ) est informaticien, écrivain et professeur de sciences informatiques. Il est connu pour être l'auteur du langage de programmation C++, l'un des plus utilisés dans le monde.)
Paradigme générique, orienté objet (De manière générale, le mot objet (du latin objectum, 1361) désigne une entité définie dans un espace à trois dimensions, qui a une fonction précise, et qui peut être désigné par une étiquette verbale. Il est défini par les relations...), procédural
Typage statique (Le mot statique peut désigner ou qualifier ce qui est relatif à l'absence de mouvement. Il peut être employé comme :), unsafe, nominatif
Normes ISO/CEI 14882:1998 (Standard C++)
ISO/CEI 14882:2003
Influencé par C (Le C++ est un langage de programmation permettant la programmation sous de multiples paradigmes comme la programmation procédurale, la programmation orientée objet...), Simula, Ada 83, Algol 68, CLU, ML
A influencé Ada 95, C#, PHP (PHP (sigle de PHP: Hypertext Preprocessor), est un langage de scripts libre principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP, mais pouvant également...), D, Javascript (JavaScript est un langage de programmation de scripts principalement utilisé dans les pages web interactives mais aussi coté serveur. C'est un langage orienté objets à prototype, c'est-à-dire que les bases du langage...), Java, X++
Implémentations GNU Compiler Collection (En informatique, GCC, abréviation de GNU Compiler Collection, est le compilateur créé par le projet GNU. Il s'agit d'une collection de logiciels libres intégrés...), Microsoft (Microsoft Corporation (NASDAQ : MSFT) est une multinationale américaine de solutions informatiques, fondée par Bill Gates et Paul Allen, dont le revenu annuel a atteint 44,28 milliards de dollars en 2006...) Visual C++, Borland (Borland (Borland Software Corporation) (NASDAQ : BORL) est une société américaine de logiciel, basée en Californie. Elle a été créée par Philippe Kahn,...) C++ Builder, XCode Tools

Le C++ est un langage de programmation (Un langage de programmation est un langage informatique, permettant à un être humain d'écrire un code source qui sera analysé par une machine, généralement un ordinateur. Le code source...) permettant la programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante de la conception de logiciel (voire de matériel, cf. VHDL).) sous de multiples paradigmes comme la programmation procédurale (La programmation procédurale est un paradigme de programmation basé sur le concept d'appel procédural. Une procédure, aussi appelée routine, sous-routine, méthode ou fonction (à ne pas confondre avec les fonctions de la...), la programmation orientée objet (La programmation par objet (du terme anglo-saxon Object-Oriented Programming ou OOP), est un paradigme de programmation, il consiste en la définition et l'assemblage de briques logicielles appelées objets ; un objet...) et la programmation générique. C++ est actuellement le 3e langage le plus utilisé au monde (Le mot monde peut désigner :). Le langage C++ n'appartient à personne et par conséquent n'importe qui peut l'utiliser sans besoin (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est souvent fait un classement des besoins humains en trois grandes...) d'une autorisation ou obligation de payer pour avoir le droit d'utilisation.

Histoire

Bjarne Stroustrup, l'inventeur de C++

Bjarne Stroustrup a développé C++ au cours des années 1980, alors qu'il travaillait dans le laboratoire de recherche (La recherche scientifique désigne en premier lieu l’ensemble des actions entreprises en vue de produire et de développer les connaissances scientifiques. Par extension...) Bell (Bell Aircraft Corporation est un constructeur aéronautique américain fondé le 10 juillet 1935. Après avoir construit des avions de combat durant la Seconde Guerre mondiale, mais aussi le premier avion à avoir franchi le mur du son,...) d'AT&T. Il s'agissait en l'occurrence d'améliorer le langage C. Il l'avait d'ailleurs nommé C with classes (« C avec des classes »). Les premières améliorations se concrétisèrent donc par la prise en charge (La charge utile (payload en anglais ; la charge payante) représente ce qui est effectivement transporté par un moyen de transport donné, et qui donne lieu à un paiement...) des classes, ainsi que par de nombreuses autres fonctionnalités comme les fonctions virtuelles, la surcharge des opérateurs, l'héritage (simple ou multiple), les « templates », la gestion des exceptions, etc.

Le langage C++ est normalisé par l'ISO. Sa première normalisation date de 1998 (ISO/CEI 14882:1998), sa dernière de 2003 (ISO/CEI 14882:2003). La normalisation de 1998 standardise la base du langage (Core Language) ainsi que la bibliothèque standard de C++ (C++ Standard Library).

En langage C, ++ est l'opérateur (Le mot opérateur est employé dans les domaines :) d'incrémentation, c'est-à-dire l'augmentation de la valeur d'une variable (En mathématiques et en logique, une variable est représentée par un symbole. Elle est utilisée pour marquer un rôle dans une...) de 1. C'est pourquoi C++ porte ce nom : cela signifie que C++ est un niveau au-dessus du C. Il existe de nombreuses bibliothèques C++ en plus de celle qui est incluse dans la norme (Une norme, du latin norma (« équerre, règle ») désigne un état habituellement répandu ou moyen considéré le plus souvent comme une règle...). Par ailleurs, C++ permet l'utilisation de l'ensemble (En théorie des ensembles, un ensemble désigne intuitivement une collection d’objets (les éléments de l'ensemble),...) des bibliothèques C existantes.

Histoire de C++

Stroustrup a commencé à travailler sur C avec classes en 1979. L'idée de créer un nouveau langage vient de l'expérience en programmation de Stroustrup pour sa thèse (Une thèse (du nom grec thesis, se traduisant par « action de poser ») est l'affirmation ou la prise de position d'un locuteur, à l'égard du sujet...) de doctorat (Le doctorat (du latin doctorem, de doctum, supin de docere, enseigner) est généralement le grade universitaire le plus élevé. Le titulaire de ce grade est le docteur. Selon les pays et les époques, le doctorat peut...). Stroustrup trouvait que Simula avait des fonctionnalités très utiles pour le développement de gros programmes mais qu'il était trop lent pour être utilisé en pratique (cela était dû à un problème d'implémentation (Le mot implantation peut avoir plusieurs significations :) du compilateur Simula), tandis que BCPL était rapide mais de trop bas niveau et non adapté au développement de gros logiciels. Quand Stroustrup commença à travailler aux laboratoires Bell, on lui demanda d'analyser le noyau UNIX (UNIX (marque déposée officiellement comme UNIX, parfois aussi écrit comme Unix avec des petites capitales) est le nom d'un système d'exploitation multitâche et...) en vue (La vue est le sens qui permet d'observer et d'analyser l'environnement par la réception et l'interprétation des rayonnements lumineux.) de faire du calcul distribué. Se rappelant sa thèse, Stroustrup commença à améliorer le langage C avec des fonctionnalités similaires à celle de Simula. C fut choisi parce qu'il est rapide, portable et d'usage (L’usage est l'action de se servir de quelque chose.) général. En outre, il était une bonne base pour le principe original et fondateur de C++ : « vous ne payez pas pour ce que vous n'utilisez pas ». Dès le départ, le langage ajoutait à C la notion de classe (avec encapsulation (L'encapsulation en général est la notion de mettre une chose dans une autre. En imageant, on peut voir que cette chose est mise dans une capsule. En particulier, on peut retrouver ce terme dans plusieurs domaines :) des données), de classe dérivée (La dérivée d'une fonction est le moyen de déterminer combien cette fonction varie quand la quantité dont elle dépend, son argument, change. Plus...), de vérification des types renforcés (typage fort), d'« inlining », et d'argument par défaut.

Comme Stroustrup développait C avec classes, il écrivit CFront, un compilateur qui générait du code source (Le code source (ou les sources voire le source) est un ensemble d'instructions écrites dans un langage de programmation informatique de haut niveau, compréhensible par un être humain entraîné,...) C à partir de code source C avec classes. La première commercialisation se fit en octobre 1985.

En 1983, le nom du langage passa de C avec classes à celui de « C++ ». Parmi les nouvelles fonctionnalités qui furent ajoutées au langage, il y avait les fonctions virtuelles, la surcharge des opérateurs et des fonctions, les références, les constantes, le contrôle (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de vérification et de maîtrise.) du typage amélioré et les commentaires en fin de ligne. En 1985 fut publiée la première édition de The C++ programming Language, apportant ainsi une référence importante au langage qui n'avait pas encore de standard officiel. En 1989, c'est la sortie de la version 2.0 de C++. Parmi les nouvelles fonctionnalités, il y avait l'héritage multiple (Certains langages de programmation orientés objets (par exemple C++, Eiffel) permettent l'héritage multiple, dans lequel une classe peut hériter de comportements et de fonctionnalités de plus d'une super-classe. Au...), les classes abstraites, les fonctions membres statiques, les fonctions membres constantes, et les membres protégés. En 1990, The Annotated C++ Reference Manual (« ARM ») fut publié apportant les bases du futur standard. Les ajouts de fonctionnalités tardifs qu'il comportait couvraient les modèles, les exceptions, les espaces de noms, les nouvelles conversions et le type booléen (Un booléen en logique et en programmation informatique est un type de variable à deux états. Les variables de ce type sont ainsi soit à l'état vrai soit à l'état faux (en anglais true et false).).

Comme le langage C++ évoluait, la bibliothèque standard évoluait de concert. La première addition (L'addition est une opération élémentaire, permettant notamment de décrire la réunion de quantités ou l'adjonction de grandeurs extensives de même nature, comme les longueurs, les aires,...) à la bibliothèque standard de C++ concernait les flux (Le mot flux (du latin fluxus, écoulement) désigne en général un ensemble d'éléments (informations / données, énergie, matière, ...) évoluant dans un sens...) d'entrées/sorties qui apportaient les fonctionnalités nécessaires au remplacement des fonctions C traditionnelles telles que printf et scanf. Ensuite, parmi les additions les plus importantes, il y avait la Standard Template Library (La Standard Template Library aussi appelée STL est une bibliothèque C++, normalisée par l'ISO (document ISO/CEI 14882) et implémentée à l'aide des templates.).

Après des années de travail, un comité réunissant l'ANSI et l'ISO standardisa C++ en 1998 (ISO/CEI 14882:1998), l'année (Une année est une unité de temps exprimant la durée entre deux occurrences d'un évènement lié à la révolution de la Terre autour du Soleil.) où le comité de standardisation se réunissait à Sophia Antipolis (Sophia Antipolis est une technopole située dans une pinède de 2 400 hectares sur les communes d'Antibes, Biot, Vallauris, Valbonne Sophia...) dans le sud (Le sud est un point cardinal, opposé au nord.) de la France. Pendant quelques années après la sortie officielle du standard, le comité traita le rapport de problèmes et publia une version corrigée du standard C++ en 2003.

Personne ne possède le langage C++. Il est libre de droit. Le document (Dans son acception courante un document est généralement défini comme le support physique d'une information.) de standardisation n'est quant à lui pas disponible gratuitement.

Page générée en 0.141 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique