IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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 !

Un nouveau C++ est né

Le , par Jean-Marc.Bourguet

1PARTAGES

15  0 
Mise à jour du 12 octobre 2011 par Idelways

La norme ISO C++11 vient d'être publiée après la ratification du standard en août dernier (lire ci-devant). Il s'agit plus précisément de la norme ISO/CEI 14882:2011, intitulée « Technologies de l'information – Langages de programmation – C++ »

Il aura fallu 13 ans pour que cette première révision majeure du standard populaire et omniprésent voie le jour. Elle marquera le quotidien de millions de développeurs sur les deux prochaines décennies.

Cette norme définit le langage de programmation et spécifie des exigences pour sa mise en œuvre (spécifications).
De nouvelles fonctionnalités viennent rehausser la souplesse et l’efficacité du C++, tout en conservant les qualités traditionnelles du langage, notamment en terme de performances et d'accès total et à tout moment au système d'exploitation sous-jacent.

« À présent que les améliorations apportées à C++11 intègrent bon nombre des points forts des langages managés, la version modernisée du code C++ est aussi irréprochable et sûre que n’importe quel autre code moderne, et aussi rapide en termes de performance par défaut » assure Herb Sutter, animateur du groupe de travail ISO.

L'intégration du concept de ramasse-miettes (Garbage Collector) est reportée au successeur du C++11 par manque de temps, avait fait savoir Sutter plus tôt cette année.

Avec des fonctionnalités comme l’inférence de type automatique, la surcharge d’un contrôle explicitement virtuelle et les pointeurs intelligents standards, les développeurs « n’aurait plus à réécrire “delete” ».

C++11 introduit entre autres les fonctions anonymes (lambda), la sémantique « move » (pour déplacer un objet sans le copier) et les templates acceptant un nombre variable d’arguments.

Un nouveau modèle de mémoire adapté aux processeurs multicoeurs vient rattraper le retard du C++ par rapport à Java, qui offre un modèle similaire depuis sa révision de 2005. Accomplir de la programmation concurrence ne dépend donc plus des librairies tierces que les développeurs devaient choisir et intégrer.

La norme est disponible uniquement en anglais, et peut être directement obtenue auprès du Secrétariat central sur l'ISO Store pour l'équivalent de 285 €. Les instituts membres nationaux devront ratifier et publier le texte final de la norme pour des tarifs plus abordables, ou même gratuitement, assure Sutter.

Ceux qui souhaitent se faire une idée précise sur la norme peuvent consulter gratuitement les drafts et documents de travail, disponible sur la page du comité WG21.

Sources : blog de Herb Sutter, communiqué de presse

Et vous ?

Que pensez de cette évolution du langage C++ ?

C++ 2011 : le Draft final international validé à l’unanimité
La norme sera publiée avant la fin de l’année

La version finale de la nouvelle norme ( C++ 2011) du langage de programmation orienté objet C++ approuvée à l'unanimité.

Herb Sutter, président du comité ISO C++, vient d’annoncer sur son blog la validation du draft international (Final Draft International Standard – FDIS) du langage de programmation.

C++ 2011 apporte des améliorations rendant l’apprentissage et l’enseignement du langage plus facile, et des améliorations pour la programmation système. Cette version permettra aux programmeurs de coder plus rapidement et faire du code facilement maintenable.

Comme nouveautés, C++ 2011 introduit les fonctions Lambda, une bibliothèque standard et améliorée avec des fonctionnalités de programmation concurrentes, la prise en charge des listes initialisateurs, etc.

On notera également comme changements, l'abandon des clauses new et explicit pour la gestion des overload, la rationalisation de l'utilisation de noexcept dans la bibliothèque ou la modification des règles de recherche de Begin et end pour un range-for.

La norme C++ 2011 sera publiée avant la fin de l’année.

Source : Blog Herb Sutter

Edité par Hinault Romaric

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

Avatar de Jean-Marc.Bourguet
Expert éminent https://www.developpez.com
Le 15/08/2011 à 20:30
Citation Envoyé par guillaume07 Voir le message
Quand tu dis on ça représente combien de personnes à peu près ?
Difficile à dire. Il y a environ (j'ai pas compté) 350 cent personnes inscrites sur le document qui liste les inscrits sur les mailing lists, mais certains sont inactifs et il y a des listes (nationales ou par société). Il y a 30-40 participants à chaque réunion. Il doit y avoir une centaine de personnes qui participent aux discussions sur les mailings listes. Mais certains ne participent qu'à travers les représentants de leur comités nationaux (par ex le japon a fait 20% des commentaires officiels sur le dernier draft, ce qui ne correspond pas à l'activité que je vois par ailleurs, ils ont 6 noms sur la liste ci-dessus -- mais un d'entre eux est "Japanese C++ reflector". Encore un dernier chiffre, il y a eu 21 votes nationaux, mais lors de la dernière réunion il y avait 8 délégations.

En prime, certains interviennent régulièrement sur un ensemble vaste de sujets, d'autres uniquement sur un sujet ou deux.
6  0 
Avatar de 3DArchi
Rédacteur https://www.developpez.com
Le 13/08/2011 à 8:24
Salut,


Maintenant, il va falloir garder un œil sur la roadmap des compilateurs. Beaucoup ont commencé l'intégration de features, mais jusqu'à une totale conformance il reste du boulot et pour nous de la frustration...

Simple curiosité, maintenant que C++11 est approuvé, est-ce que le comité remet un chantier en marche pour une prochaine normalisation ? Comment le langage continue-t-il son évolution ?
3  0 
Avatar de JolyLoic
Rédacteur/Modérateur https://www.developpez.com
Le 13/08/2011 à 10:11
Il y a une réunion la semaine prochaine, ou les principaux sujets de discussion seront probablement de petits correctifs, et des discussion procédurales sur la suite de l'évolution.

Les grosses évolutions reprendront probablement à la réunion de février.

Donc, bien sur qu'on continue ! La question principale étant comment faire pour continuer, accélérer le rythme, sans pour autant déstabiliser les choses.
3  0 
Avatar de Joel F
Membre chevronné https://www.developpez.com
Le 15/08/2011 à 9:03
Pour C++ ca sera discuter un peu a Bloomington. BS veut qu'on se concentre sur des features qui ont du sens et pas un patch-fest comme pour 0x.
3  0 
Avatar de Jean-Marc.Bourguet
Expert éminent https://www.developpez.com
Le 13/08/2011 à 7:36
Citation Envoyé par authchir Voir le message
Génial, et ces quelques procédures devraient prendre combien de temps? Quelques jours, quelques semaines, quelques mois...
Mois. La publication officielle devrait être quand même en 2011.
2  0 
Avatar de Klaim
Membre expert https://www.developpez.com
Le 13/08/2011 à 12:01
Concernant les roadmaps de compilo, on devrait être servi pour Visual Studio en Septembre lors de l'evenement "Build".
2  0 
Avatar de Goten
Membre chevronné https://www.developpez.com
Le 17/08/2011 à 19:03
C++11 semble être le nom officieux en effet, le nom officiel de la norme étant ISO/IEC 14882:2011. Un truc qui influencera ce nommage c'est ce que les gars de chez gcc vont décider (et clang par conséquent) pour le switch -std. Pour l'instant c'est c++0x mais ils ont pas décidé IIRC.
2  0 
Avatar de Idelways
Expert éminent sénior https://www.developpez.com
Le 12/10/2011 à 11:50
Un nouveau C++ est né
La norme ISO C++11 finale vient d'être publiée

Mise à jour du 12 octobre 2011 par Idelways

La norme ISO C++11 vient d'être publiée après la ratification du standard en août dernier (lire ci-devant). Il s'agit plus précisément de la norme ISO/CEI 14882:2011, intitulée « Technologies de l'information – Langages de programmation – C++ »

Il aurait fallu 13 ans pour que cette première révision majeure du standard populaire et omniprésent voie le jour. Elle marquera le quotidien de millions de développeurs pendant les deux prochaines décennies.

Cette norme définit le langage de programmation et spécifie des exigences pour sa mise en œuvre (spécifications).
De nouvelles fonctionnalités viennent rehausser la souplesse et l’efficacité du C++, tout en conservant les qualités traditionnelles du langage, notamment en terme de performances et d'accès total et à tout moment au système d'exploitation sous-jacent.

« À présent que les améliorations apportées à C++11 intègrent bon nombre des points forts des langages managés, la version modernisée du code C++ est aussi irréprochable et sûre que n’importe quel autre code moderne, et aussi rapide en termes de performance par défaut » assure Herb Sutter, animateur du groupe de travail ISO.

L'intégration du concept de ramasse-miettes (Garbage Collector) est reportée au successeur du C++11 par manque de temps, avait fait savoir Sutter plus tôt cette année.

Avec des fonctionnalités comme l’inférence de type automatique, la surcharge d’un contrôle explicitement virtuelle et les pointeurs intelligents standards, les développeurs « n’aurait plus à réécrire “delete” ».

C++11 introduit entre autres les fonctions anonymes (lambda), la sémantique « move » (pour déplacer un objet sans le copier) et les templates acceptant un nombre variable d’arguments.

Un nouveau modèle de mémoire adapté aux processeurs multicoeurs vient rattraper le retard du C++ par rapport à Java, qui offre un modèle similaire depuis sa révision de 2005. Accomplir de la programmation concurrence ne dépend donc plus des librairies tierces que les développeurs devaient choisir et intégrer.

La norme est disponible uniquement en anglais, et peut être directement obtenue auprès du Secrétariat central sur l'ISO Store pour l'équivalent de 285 €. Les instituts membres nationaux devront ratifier et publier le texte final de la norme pour des tarifs plus abordables, ou même gratuitement, assure Sutter.

Ceux qui souhaitent se faire une idée précise sur la norme peuvent consulter gratuitement les drafts et documents de travail, disponible sur la page du comité WG21.

Sources : blog de Herb Sutter, communiqué de presse

Et vous ?

Que pensez de cette évolution du langage C++ ?
2  0 
Avatar de Klaim
Membre expert https://www.developpez.com
Le 12/10/2011 à 13:39
Une lecture de la page wikipedia permet de se faire une idée globale des nouvelles features et comment les utiliser : http://en.wikipedia.org/wiki/C%2B%2B11

Par contre c'est vraiment du survol.

Pour le prix, ça a déjà été discuté sur un autre thread. En gros Herb sutter dit qu'une version gratos ou très abordable est en cours de mise en place pour le début d'année.
2  0 
Avatar de Klaim
Membre expert https://www.developpez.com
Le 12/10/2011 à 14:48
C'est sans doute encore un peu tôt (faudra-t-il attendre VS2011 ?)
Ca a déjà été annoncé : en gros VS2011 ne fournira pas vraiment de nouvelles features du language mais en revanche fournira presque toutes les nouvelles bibliothèques standard.

Voir http://blogs.msdn.com/b/vcblog/archi.../10209291.aspx pour les détails.

Sinon, GCC fournis déjà une grosse partie de ces features dans ses dernières versions, et CLang aussi (mais pas les mêmes).

Ca aurait aidé qu'ils se mettent d'accord sur les bases à implémenter d'abord, histoire qu'on puisse faire du cross-platform rapidement avec C++11 mais bon.

En d'autre terme la prochaine révision de la norme sera une C++3X? ^^
A priori non, puisque le focus pour le prochain meeting du commité, si j'ai bien compris, serait de réfléchir a voir quels sont les features a voir rapidement (dans les 3-5 prochaines années) et surtout comment s'organiser pour que environ 5 ans soit le maximum entre deux versions du language (hors TR). Je peu me tromper mais visiblement il va ya avoir un éffort pour éviter l'effet C++11 : une énorme mise à jour qui met 11 ans à être finalisée...sur le papier.
2  0