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 !

Bjarne Stroustrup publie les fonctionnalités proposées pour C++ 17
Quelles nouveautés voulez-vous voir intégrer à la norme ?

Le , par Olivier Famien

0PARTAGES

7  0 
C++ qui est un langage de programmation comptant à son actif une forte communauté de développeurs a connu sa dernière version majeure en 2011 avec l’introduction de nouvelles bibliothèques. Depuis cette date, une seule itération a vu le jour en 2014 avec la sortie de C+ +14.

Le prochain standard étant fixé pour 2017, Bjarne Stroustrup a annoncé il y a quelques jours un ensemble de nouvelles fonctionnalités qu’il souhaiterait voir intégrer afin d’incrémenter les anciennes spécificités de ce langage pour obtenir la version C++17.

De manière succincte, on note au nombre de ces propositions, une amélioration du support pour les logiciels à grande échelle. Les développeurs d’applications pour le Cloud peuvent déjà afficher le sourire avec cette annonce.

Un clin d’œil est également fait à l’endroit de la simplification de l’utilisation du noyau du langage, et surtout pour ce qui concerne la Standard Template Library (STL) qui est une bibliothèque standard offrant aux développeurs de puissants outils tels que les modèles de classes, les fonctions génériques telles que les conteneurs et les algorithmes.

Avec C++11, on a eu droit à l’introduction de classes de bibliothèques, fonctions et modèle pour la gestion concurrente des processus. Avec C++17, cette caractéristique sera améliorée si les propositions de ce dernier sont validées bien entendu et un support pour les modèles de concurrence de plus haut niveau compte être aussi mis en œuvre.

En outre, l’auteur de ce langage souhaite s’attaquer à d’importantes sources d’erreurs tout en gardant les atouts fondamentaux qui ont fait de C++ un des langages les plus prisés dans le domaine informatique en dépit de l’apparition de nombreux nouveaux langages.

Enfin, C++ qui est une amélioration de C avec des fonctionnalités du langage de programmation Simula, comporte bon nombre de points similaires avec ces langages cités, même s’il est reconnu qu’un code écrit en C ne s’exécutera pas forcément sans erreurs avec le compilateur C++. Tirant son inspiration de ces langages, Bjarne Stroustrup souhaite pour cette itération, un mappage direct avec le matériel comme c’est le cas en C ainsi qu’une amélioration de l’abstraction afin de tirer le meilleur parti de la même fonctionnalité présente en Simula.

Il faut également préciser que toutes ces propositions doivent au préalable être validées par le comité qui se réunira la semaine prochaine au Kansas aux États-Unis. Toutefois, Bjarne ne souhaiterait pas voir certains comportements de la part du comité tels que la volonté de satisfaire tout le monde en ne faisant pas le tri des propositions effectuées. De même, il ne souhaiterait pas que le comité tombe dans la facilité en créant une bibliothèque afin d’éviter de l’intégrer comme fonctionnalité à part entière du langage.

Pour plus d’informations sur l’ensemble des propositions de Bjarne ainsi que ses attentes vis-à-vis du comité vous pouvez consulter cette page.

Source : Scribd

Et vous ?

Que pensez-vous de ces propositions ?
Quelle fonctionnalité souhaiteriez-vous voir intégrer dans C+ +17 ?

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

Avatar de Aurelien.Regat-Barrel
Expert éminent sénior https://www.developpez.com
Le 28/04/2015 à 17:21
Pour info :
Modules : Microsoft bosse aussi sur sa version
ASIO : en février dernier à Cologne il y a eu pas mal de boulot de fait
les concepts "lite" devraient sortir cette année sous forme de TS
Transactional memory : je sais pas où ça en est mais y'a du monde dessus (IBM)

La sortie de C++11 a incité beaucoup de monde a venir grossir les effectifs. Voir la liste des study groups aujourd'hui :
https://isocpp.org/std/the-committee

Donc on ne peut pas vraiment comparer à C++0x même si c'est vrai que ça reste un sacré challenge de faire évoluer un tel langage !
2  0 
Avatar de Arzar
Membre émérite https://www.developpez.com
Le 27/04/2015 à 20:25
Ça me semble un *tantinet* ambitieux pour 2017.
Le C++0x a pris des années de retard et ne contenait même pas le dixième du dixième de ce qui est proposé ici.

Dans sa liste je vois littéralement une dizaine de feature majeure requérant chacune un travail colossal. Si vraiment le comité arrive à standardiser un truc pareil, ça sera une révolution pour le C++ :

Modules : Probablement le plus complexe de tous, et pourtant pour le moment qu'un seul proposal assez maigrichon. Une implémentation de test est en cours dans clang depuis plusieurs *années* mais elle est encore assez loin du compte il me semble.
Transactional memory : Je croyais que c'en était encore à l'état de recherche la TM, une standardisation pour 2017 vraiment !?
Concepts : A déjà fait tanker une fois le C++0x.
Uniform call syntax : Très beau et marche vraiment bien en D, mais avec une syntaxe aussi compliqué que le C++, je sens les complications poindrent.
Pattern Matching : Très intéressant, mais je n'ai même pas encore vu un seul proposal allant dans ce sens, Bjarne a-il un proposal surprise ?
ASIO : Standardiser tout ASIO, sacré morceau.
SIMD : Tous les proposals touchant aux SIMD ont été rejeté les un après les autres, je n'ai pas l'impression qu'il y ait le moindre consensus sur le SIMD.
coroutines : Même topo, il y a plein de proposal concurrent
Ranges : Rien que la version basique du proposal qui vient augmenter les algos existants de la STL fait déjà 127 (!) pages.
1  0 
Avatar de mintho carmo
Membre averti https://www.developpez.com
Le 27/04/2015 à 20:57
Une précision quand même : contrairement à ce que laisse entendre l'article de Dvp, ce ne sont pas des propositions faites par Stroustrup, mais par de nombreux contributeurs, depuis des années (comme l'a dit Arzar, certaines qui datent du C++0x). Stroustup ne fait que citer les proposals qu'il aimerait bien voir ajouté à la prochaine norme.

Tout comme Arzar, j'ai des doutes. Pas mal de choses ne sont même pas encore implémentées sur compilateur (Clang propose quelques nouvelles features provenant des proposals du C++17, mais on est loin de toutes les proposals dont parle Stroustrup). D'autres choses, comme les TM, nécessite le concours de fabricants de matériel (Intel, AMD, etc), c'est toujours difficile d'avoir un consensus.

Bref, pas d'emballement, on est encore loin (surtout quand on voit le nombre de personnes qui n'ont pas encore assimilé le C++11. Et ne parlons pas du C++14)
0  0 
Avatar de Firwen
Membre expérimenté https://www.developpez.com
Le 28/04/2015 à 20:03
Modules : Probablement le plus complexe de tous, et pourtant pour le moment qu'un seul proposal assez maigrichon. Une implémentation de test est en cours dans clang depuis plusieurs *années* mais elle est encore assez loin du compte il me semble.
Transactional memory : Je croyais que c'en était encore à l'état de recherche la TM, une standardisation pour 2017 vraiment !?
Concepts : A déjà fait tanker une fois le C++0x.
Uniform call syntax : Très beau et marche vraiment bien en D, mais avec une syntaxe aussi compliqué que le C++, je sens les complications poindrent.
Pattern Matching : Très intéressant, mais je n'ai même pas encore vu un seul proposal allant dans ce sens, Bjarne a-il un proposal surprise ?
ASIO : Standardiser tout ASIO, sacré morceau.
SIMD : Tous les proposals touchant aux SIMD ont été rejeté les un après les autres, je n'ai pas l'impression qu'il y ait le moindre consensus sur le SIMD.
coroutines : Même topo, il y a plein de proposal concurrent
Ranges : Rien que la version basique du proposal qui vient augmenter les algos existants de la STL fait déjà 127 (!) pages.

> Transactional memory : C'est déja supporté par GCC depuis la 4.7 ou 4.8 si je ne dis pas de bétise.

> Pattern Matching : Bjarne fournit sa propre lib qui permet de faire ça via du C++11 standard. L'intégrer proprement au langage en lui même ne devrait pas être un gros problème.

> ASIO : Complétement, surtout que ASIO est un monstre qui aurait bien besoin d'un petit redesign avant toute standardisation.

Un peu triste que les efforts pour standardiser / améliorer l'ABI soient passés à la trappe..... Le Pimpl et le signal/slot a encore de beaux jours devant lui...
0  0 
Avatar de Aurelien.Regat-Barrel
Expert éminent sénior https://www.developpez.com
Le 28/04/2015 à 23:54
Une petite vidéo de 20 min sur les évolutions en cours pour C++17 (interview de Gabriel Dos Reis):
http://channel9.msdn.com/Shows/C9-Go...Preview-of-C17
0  0 

 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web