Quel nom pour la future norme C++ ? La baptiser devient problématique face aux retards qui s'accumulent

Le , par Gordon Fowler, Expert éminent sénior
Depuis plusieurs années maintenant, un comité de normalisation ISO planche sur une nouvelle norme pour le langage C++.

Jusqu'à présent, le «nom de code» de cette nouvelle mouture devait être C++0X, le X ayant vocation à être remplacé par l'année de normalisation.

Une sortie en 2009 aurait par exemple été baptisée C++09.

L'objectif initial était de produire cette norme avant la fin de la décennie 2000. D'où le 0 avant le X. Or, nous sommes depuis quelques jours en 2010 et les travaux sont toujours en cours.

Il devient par conséquent logique de modifier le nom de code pour le faire coller à la dure réalité à laquelle l'évolution du C++ est confronté.

Certains prônent tout simplement C++1X pour une normalisation que l'on espère approuvée durant la décennie à venir.

D'autres, avec un humour très geek, proposent que l'on garde le nom de code C++0X, X devenant alors non plus l'année en format décimal mais l'année en format hexadécimal (base 16 donc).
Par exemple, C++0a désignerait une norme approuvé en 2010 (pour mémoire A en hexadécimal vaut 10 en décimal).

Cette proposition très geek fait aussi valoir qu'en en C++, X est le préfixe pour désigner des nombres en format hexadécimal (dans un code C++, on écrit 0x0A pour désigner 10).

Pour enfoncer le clou, les partisans de cette solutions rappellent que « ++ » est également l'opérateur d'incrémentation qui permet d'augmenter de 1 une variable. Et qu'il peut parfaitement se trouver à gauche de la valeur à incrémenter.

En clair, « ++0 » peut aussi se comprendre comme « 1 », « C++0X » lisant alors comme C (++0)X == C 1X.

Plus sérieusement, les incertitudes qui planent sur la date de réalisation effective de la nouvelle norme pourraient bien avoir des conséquences très négatives pour le langage.

Un des plus dommageable est l'absence de son intégration dans les nouvelles moutures des compilateurs les plus importants du marché, à commencer par Visual 2010 qui n'intégrera pas toutes les évolutions prévues... puisqu'il sortira, lui, bien avant la fin du processus de normalisation.
Le risque est de voir se reproduire le décalage observé entre Visual 6.0 et la première normalisation (de 1998) dont les conséquences se font encore sentir.

Coup d'arrêt majeur pour le C++ ou simple péripétie vite oubliée quand arrivera le C++0X... Pardon... le C++1X... Le C++7DA ?.. C++11111011010 ?

Bref, on s'est compris : le futur C++ quoi !

Lire aussi :

La Rubrique C++ (actu, forums, tutos) et le portail Langages de Développez.com

Le langage D est-il le successeur du C++ ?

Le pire bout de code que vous ayez vu : Qui l'a fait ? Pourquoi ? Pourquoi était-il si horrible ?
Pourquoi la communauté C++ s'intéresse-t-elle plus à la technique et ignore la conception ?

Les lacunes de l'enseignement du métier de développeur logiciel selon Bjarne Stroustrup, créateur du langage C++

Et vous ?

Quel nom souhaiteriez-vous voire donner à la future norme C++ ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de ctxnop ctxnop - Membre expérimenté https://www.developpez.com
le 07/01/2010 à 14:39
Citation Envoyé par 3DArchi  Voir le message
Notons tout de même gcc qui propose déjà beaucoup des avancées dans les dernières versions de son compilateur.

La dernière fois que j'ai regardé GCC implémente le TR1 du C++0x (euh, finalement, on l'appel comment ? ), tout comme Visual Studio C++ 2008 SP1, et peut être même une ou deux version plus tot. Mais ni GCC ni Visual C++ n'implémentent le TR1 dans son intégralité.
Avatar de bubulemaster bubulemaster - Membre éclairé https://www.developpez.com
le 07/01/2010 à 14:49
Et bien si c'est compliqué le C++0X reste plus qu'aux gens de migrer vers Pascal.

Ok, je sors.

Le langage D, ne peut pas remplacer le C++ car c'est du compilé avec de la gestion auto de la mémoire.
Mais c'est une alternative très intéressante.
Avatar de vintz72 vintz72 - Membre actif https://www.developpez.com
le 07/01/2010 à 14:51
Citation Envoyé par Jack Sparrow  Voir le message
On a tellement eu l'habitude (enfin, question de parler) d'écrire ou de voir C++0X qu'on pourrait simplement garder C++0X.

On pourrait même simplifier en COX ! Ce serait plus simple et rapide à prononcer !
Avatar de Jack Sparrow Jack Sparrow - Membre actif https://www.developpez.com
le 07/01/2010 à 14:53
Citation Envoyé par vintz72  Voir le message
On pourrait même simplifier en COX ! Ce serait plus simple et rapide à prononcer !

Vivement sa 6ème révision.
Avatar de 3DArchi 3DArchi - Rédacteur https://www.developpez.com
le 07/01/2010 à 14:59
Salut,
Citation Envoyé par ctxnop  Voir le message
La dernière fois que j'ai regardé GCC implémente le TR1 du C++0x.

Les dernières versions implémentent beaucoup plus que ça : Support C++0x.
Avatar de ponce ponce - Membre averti https://www.developpez.com
le 07/01/2010 à 15:36
Citation Envoyé par Jack Sparrow  Voir le message
Vivement sa 6ème révision.

Avatar de TresNulDev TresNulDev - Nouveau membre du Club https://www.developpez.com
le 07/01/2010 à 18:14
Contrairement à ce qu'on a entendu partout et surtout dans les médias, la décennie 200x n'est pas finie; elle a commencé en 2001 (2000 marquant la fin de la décennie précédente et accessoirement du vingtième siècle et du deuxième millénaire) et se termine en 2010. Ca me rappelle l'histoire du fameux "millénium" en 1999 alors que la fin du millénaire avait lieu 1 an plus tard. J'avais bien rigolé! Tout ça pour dire que le nom C++0x est encore valable jusqu'au 31 décembre 2010 à 11h 59min 59sec 999 millièmes...
Avatar de Niark13 Niark13 - Membre éclairé https://www.developpez.com
le 07/01/2010 à 18:36
Citation Envoyé par bubulemaster  Voir le message
Le langage D, ne peut pas remplacer le C++ car c'est du compilé avec de la gestion auto de la mémoire.
Mais c'est une alternative très intéressante.

D propose un garbage collector, mais tu peux t'en passer et utiliser le RAII.
Avatar de TheDrev TheDrev - Membre actif https://www.developpez.com
le 07/01/2010 à 18:40
de plus que comme C++, l index des millénaires et des décennies commencent a 0 alors !
Avatar de gb_68 gb_68 - Membre confirmé https://www.developpez.com
le 07/01/2010 à 20:14
Citation Envoyé par Jack Sparrow  Voir le message
On a tellement eu l'habitude (enfin, question de parler) d'écrire ou de voir C++0X qu'on pourrait simplement garder C++0X

Et on a qu'à dire que "X" c'est 10 en chiffres romains, comme ça ils sont obligés de rendre leur copie cette année .
Avatar de spidermario spidermario - Membre éclairé https://www.developpez.com
le 10/01/2010 à 14:23
Citation Envoyé par TresNulDev  Voir le message
Contrairement à ce qu'on a entendu partout et surtout dans les médias, la décennie 200x n'est pas finie; elle a commencé en 2001 (2000 marquant la fin de la décennie précédente et accessoirement du vingtième siècle et du deuxième millénaire) et se termine en 2010. Ca me rappelle l'histoire du fameux "millénium" en 1999 alors que la fin du millénaire avait lieu 1 an plus tard. J'avais bien rigolé! Tout ça pour dire que le nom C++0x est encore valable jusqu'au 31 décembre 2010 à 11h 59min 59sec 999 millièmes...

Je ne trouve pas ton message très pertinent. 200x désigne les années s'écrivant 200 + un chiffre, ce n'est pas le cas des années supérieures ou égales à 2010 en écriture décimale, point.
Offres d'emploi IT
Architecte électronique de puissance expérimenté H/F
Safran - Ile de France - Villaroche - Réau
Architecte systèmes études & scientifiques H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)
Ingénieur analyste programmeur (H/F)
Safran - Auvergne - Montluçon (03100)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil