Actualités
|
![]() |
Emploi
|
![]() |
Start-up
|
![]() |
Evénements 01 | ![]() |
Avis d'expert | ![]() |
Vidéos | ![]() |
Indicateurs
|
![]() |
Distribution
|
![]() |
Telecharger Pro
|
![]() |
Livres blancs | ||||||||||||||||||||||||












L'Inria Sophia-Antipolis, juin 2008. Quelque soixante experts, représentant sept pays et des dizaines de sociétés, se réunissent afin de mettre la dernière touche à ce qui va devenir le prochain standard du langage C++.
Conçu à l'origine par un chercheur Danois, Bjarne Stroustrup, le C++ a pris son essor dans les années 80 et 90, pour s'imposer comme l'un des langages de programmation les plus utilisés dans le monde. Langage dominant pour les applications les plus exigeantes, il est présent dans des secteurs aussi variés que la finance, les télécoms, les systèmes embarqués ou la conception assistée par ordinateur. Parmi ses points forts figurent son caractère universel, son efficacité, ainsi que son excellent support pour tout ce qui concerne la programmation orientée objet et la programmation générique.
Après une décennie d'efforts, le premier standard du C++ aboutit en 1998. Il spécifie le langage proprement dit, mais aussi sa bibliothèque standard. Le comité WG21, qui concourt sous l'égide de l'ISO, a poursuivi ses travaux autour d'un correctif, sorti en 2003 ainsi que sur plusieurs rapports techniques comme TR1. Ce dernier a d'ailleurs aidé à tracer la voie de la bibliothèque standard à venir.
Au rythme de deux à trois réunions annuelles, qui se sont déroulées alternativement entre l'Europe et l'Amérique du Nord, le comité s'est ensuite attaqué à une nouvelle version majeure du standard, sous le nom de code C++0x. Un projet dont l'aboutissement devrait se concrétiser avant 2010. Cet objectif est en voie d'être atteint, comme en témoigne l'étape majeure franchie en septembre dernier qui a vu l'adoption du CD (Committee Draft). Cette validation marque d'une part l'arrêt de la prise en compte de propositions de nouvelles fonctions, et appelle d'autre part un public plus large à des critiques officielles afin de corriger les derniers bugs.
Mais qu'apportera alors ce nouveau standard aux développeurs ? Tout d'abord, ce C++ nouvelle génération fournit une spécification portable pour le multithreading. Ce procédé, utilisé dans de nombreux serveurs et applications à haute performance, tire ainsi un meilleur parti des machines multicœurs actuelles et à venir. Il simplifie ensuite de nombreux aspects du langage pour le rendre plus expressif.
Le code est plus compact et plus clair. Il offre plus de choses, et sera surtout plus facile à enseigner, en rendant notamment l'usage de fonctions avancées plus simple, et donc plus accessible aux débutants. Les messages d'erreurs bien souvent compliqués des templates seront, entre autres, considérablement simplifiés par l'introduction de “ concepts ” dans le langage. Les développeurs experts ne seront pas en reste non plus : le langage leur fournira des outils pour construire et maintenir plus facilement des applications plus efficaces.
Un standard n'est qu'un document, et il y a plus d'un pas entre un standard et sa mise en œuvre par les compilateurs. La disponibilité des nouvelles fonctions se fera donc progressivement à leur niveau. Certaines sont déjà utilisables dans quelques compilateurs, d'autres prendront plus de temps à être disponibles, en fonction des priorités des éditeurs de compilateurs comme Microsoft, Intel, Sun, ou bien encore le compilateur GCC utilisé sous Linux.
La liste exhaustive des nouveautés est donc importante. Elle est répertoriée dans des dizaines de documents accessibles sur le site web du comité WG21(*). Des livres sont déjà en cours d'écriture pour diffuser et enseigner les nouveautés du prochain standard. En regardant plus loin, on peut se dire qu'attendre 10 ans entre deux révisions majeures du standard peut sembler frustrant. Le comité WG21 espère donc à l'avenir réduire la durée du cycle de révision à 3 ans. Cela devrait garantir au langage C++ et à ses utilisateurs, une longueur d'avance face à la concurrence.
(*) Quelques liens utiles :
www.open-std.org/jtc1/sc22/wg21/
http://tinyurl.com/5bd4k8
www-sop.inria.fr/members/Sylvain.Pion/
















