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++ ?
Quel nom pour la future norme C++ ? La baptiser devient problématique face aux retards qui s'accumulent
Quel nom pour la future norme C++ ? La baptiser devient problématique face aux retards qui s'accumulent
Le , par Gordon Fowler
Une erreur dans cette actualité ? Signalez-nous-la !