Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par Gordon Fowler

0PARTAGES

0  0 
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++ ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de teddyalbina
Membre confirmé https://www.developpez.com
Le 07/01/2010 à 13:01
J'ai jeté un coup d'oeil à la partie multithreading de C++0x c'est un vrai bordel à écrire un horreur sans nom

Tu m'étonnes que les types soient à la bourre la syntaxe est tellement bordélique qu'ils s'y perdent à chaque fois qu'ils veullent toucher un truc il faut déjà lire les 200 premières pages de spec histoire de se rappeler la syntaxe tordue pondu entre deux bouteilles de vinasse à pas chère

Je sais je suis méchant mais vraiment c'est trop le boxon C++0x, il faut le remplacer par un langage moins crade tout en gardant la puissance.
1  0 
Avatar de Jack Sparrow
Membre actif https://www.developpez.com
Le 07/01/2010 à 13:15
On a tellement eu l'habitude (enfin, question de parler) d'écrire ou de voir C++0X qu'on pourrait simplement garder C++0X.

Ils sont bien optimistes ceux qui pensent que ce sera bon avant C++0F
0  0 
Avatar de 3DArchi
Rédacteur https://www.developpez.com
Le 07/01/2010 à 14:30
Salut,
Il est certain que cette norme se fait attendre. Beaucoup d'évolutions majeures sont prévues et devraient rendre le langage plus compréhensible pour les développeurs arrivant d'autres langages (comme Java ou C#), plus facile à apprendre et à utiliser mais aussi toujours plus expressif. La plus part des éditeurs payant de compilateur sont très parcimonieux sur ce qu'ils intègrent ou intégreront dans leur compilateur. Notons tout de même gcc qui propose déjà beaucoup des avancées dans les dernières versions de son compilateur.
0  0 
Avatar de ctxnop
Membre chevronné 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é.
0  0 
Avatar de bubulemaster
Membre confirmé 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.
0  0 
Avatar de 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 !
0  0 
Avatar de 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.
0  0 
Avatar de 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.
0  0 
Avatar de 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.
0  0 
Avatar de 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...
0  0