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 !

L'évolution du langage C++ s'accélère
10 groupes d'études et plusieurs nouvelles dates de sortie pour les prochaines normes

Le , par gbdivers

22PARTAGES

2  0 
L'évolution du langage C++ s'accélère
10 groupes d'études et plusieurs nouvelles dates de sortie pour les prochaines normes


Depuis la première annonce l'année dernière, le comité à fait plein de petits bébés : la famille s'est agrandie et compte maintenant 10 SG (study group), 4 WG (working group) et un comité.



Les working groups ont pour rôle de proposer les modifications à apporter à la norme, modifications qui seront approuvées, ou non, par le comité de normalisation.

  • le core working group (CWG) a la charge des corrections sur le langage (chapitres 1 à 16 de la norme) ;
  • l'evolution working group (EWG) travaille sur l'évolution du langage (travaux qui sont délégués aux study groups) ;
  • le library working group (LWG) s'occupe de le maintenance de la bibliothèque standard (chapitres 17 et suivants de la norme) ;
  • le library evolution working groupe (LEWG) est responsable de l'évolution de la bibliothèque standard (travaux qui sont délégués aux study groups).


Les study groups ont la charge d'étudier les évolutions du langage (SG 1, 2, 5, 7, 8 et 10) et de la bibliothèque (SG 3, 4, 6 et 9) sur des thèmes spécifiques et de proposer des modifications de la norme aux WG :
  • SG1 Concurrency : concurrence et parallélisme ;
  • SG2 Modules : utilisation de modules à la place du système d'en-têtes ;
  • SG3 File System : gestion des fichiers (basé sur Boost.Filesystem v3) ;
  • SG4 Networking : gestion du réseau, sockets et HTTP ;
  • SG5 Transactional Memory : mémoires transactionnelles (mémoire permettant de créer un ensemble indivisible d'écriture et lecture) ;
  • SG6 Numerics : analyse numérique, nombres réels fixes et flottants, fractions ;
  • SG7 Reflection : réflexion à la compilation ;
  • SG8 Concepts : ajout de contraintes sur les types ;
  • SG9 Ranges : alternative aux itérateurs ;
  • SG10 Feature Test : standardisation des tests.


Au niveau du planning, le comité s'active, avec plus d'une centaine de propositions pour le congrès de Bristol (voir la discussion [ISOC++] Mailing pre-Bristol). En plus de la prochaine norme qui devrait sortir en 2017, le comité prévoit des Technical Specifications, pour les ajouts de fonctionnalités indépendantes, et une révision mineure de la norme en 2014.



Quelles sont les fonctionnalités qui vous intéressent le plus ? Celles que vous auriez aimer avoir ?
Que pensez-vous de l’accélération prise par le comité pour le langage et la bibliothèque standard ?


Source : http://isocpp.org/std/the-committee

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

Avatar de Joel F
Membre chevronné https://www.developpez.com
Le 27/03/2013 à 7:47
bof bof SWING++, les gui franchement c'est le sloppery sloep infame: impossible a cocneptualiser et a mettre dans des composants generiques propres et sans API dementes. Y a regulierement des propal sur boost par exemple, et c'est le drame a chaque fois.

Pour operator. y a un N-paper mais je trouve plus le numero. Y a quelqu'un qui a un talk sur un imple clang a C++Now je crois aussi
1  0 
Avatar de Gugelhupf
Modérateur https://www.developpez.com
Le 27/03/2013 à 13:24
Avant, je me disais aussi que le C++ devrait avoir son AWT ou Swing, avec le temps j'ai compris que ça ne servirait à rien.
Au début en Java on avait AWT, on est passé à Swing pour avoir des composants plus léger, puis aujourd'hui le standard c'est JavaFX.
Rendre AWT ou Swing standard ça ne sert à rien car ce sont des outils qui évoluent avec le temps.
Le C++ a déjà Qt, et c'est très bien comme c'est.

Perso j'aimerais bien avoir Module, Networking et FileSystem en C++, et j'aimerais que ce soit des API simples et intuitif à manipuler.
Par contre j'ai vu la spec de Module et ça m'inquiète un peu avec les "export", j'aimerais bien que ce soit aussi simple qu'en C# avec l'utilisation des namespace.

Java => package/import
C# => namespace/using
C++ => namespace/import ?
1  0 
Avatar de gbdivers
Inactif https://www.developpez.com
Le 29/03/2013 à 10:02
bof bof SWING++, les gui franchement c'est le sloppery sloep infame: impossible a cocneptualiser et a mettre dans des composants generiques propres et sans API dementes. Y a regulierement des propal sur boost par exemple, et c'est le drame a chaque fois.

Pour operator. y a un N-paper mais je trouve plus le numero. Y a quelqu'un qui a un talk sur un imple clang a C++Now je crois aussi
Bof, bof, SWING++. Les interfaces graphiques, franchement, c'est une pente glissante infâme à conceptualiser et à mettre dans ces composants génériques propres et sans interfaces démentes. Il y a régulièrement des propositions sur Boost par exemple et c'est le drame à chaque fois.

Bon, à part quelques fautes de frappes et l'absence d'accent (ce qui arrive régulirèment pour ceux qui ont des claviers QWERTY), c'était compréhensible comme message
1  0 
Avatar de Klaim
Membre expert https://www.developpez.com
Le 29/03/2013 à 11:00
Ca viens avec l'habitude et la curiosite.
1  0 
Avatar de gbdivers
Inactif https://www.developpez.com
Le 02/04/2013 à 8:04
Citation Envoyé par Gugelhupf Voir le message
Bonjour,

J'ai trouvé un lien (via isocpp.org) avec des N-paper sur C++14.

Je vous avouerais que je n'ai pas saisi la moitié des specs
Tu as aussi une mini-review faite par Emmanuel Deloget là des proposals pré-Bristol : http://www.developpez.net/forums/d13...l/#post7187861
1  0 
Avatar de wirenth
Membre averti https://www.developpez.com
Le 21/03/2013 à 12:05
Modules et concepts, c'est ce qui m'arrangerait le plus. Et c'est ce qui nécessite les plus gros changements en profondeur dans le langage.
Network et FileSystem sont bien représentés dans Boost, ce n'est pas la priorité.
0  0 
Avatar de barmic
Membre actif https://www.developpez.com
Le 21/03/2013 à 13:57
Citation Envoyé par rakotoarisoatahiana Voir le message
On devrait avoir des pointeurs sur des classes, surtout pour les débutants.
Ex : listes chaînées :
Code : Sélectionner tout
1
2
3
4
5
template<class t>
class list { public :
   t info ;
   list suiv ;
}*
Je ne pense pas que ce soit envisageable simplement parce que ça entraine d'énormes refonte dans le langage.

Pour ceux qui n'ont pas compris de quoi il s'agit les pointeurs de classe ça permet, par exemple de passer une classe en paramètre d'une méthode et celle-ci peut entre autre instancier des objets de cette classe.

C'est à mon avis pas faisable à cause du fait que les classes templates sont du code généré et c'est un problème qui, en C++, s'adresse avec les templates justement.
0  0 
Avatar de Klaim
Membre expert https://www.developpez.com
Le 21/03/2013 à 14:11
Citation Envoyé par barmic Voir le message
Je ne pense pas que ce soit envisageable simplement parce que ça entraine d'énormes refonte dans le langage.

Pour ceux qui n'ont pas compris de quoi il s'agit les pointeurs de classe ça permet, par exemple de passer une classe en paramètre d'une méthode et celle-ci peut entre autre instancier des objets de cette classe.

C'est à mon avis pas faisable à cause du fait que les classes templates sont du code généré et c'est un problème qui, en C++, s'adresse avec les templates justement.
De loin je dirais que ca n'a aucun interet parcequ'on peut deja faire la meme chose en C++.

D'abord, via les template on peut avoir le type en question. Si on veut des infos au runtime on peut utiliser type_index pour identifier le type. Si tu veux faire une manip specifique avec le type, genere un lambda qui le manipule et mets le dans une map.
Enfin bref, ya trop de moyens de se passer de "pointeurs de classe".

Et j'imagine que ca sera encore plus simple si les gros chantiers cote reflexion (qui sont a priori necessaires pour rendre le networking attractif) sont mis en place. Par contre apparement ca va pas etre pour tout de suite...
0  0 
Avatar de germinolegrand
Membre expert https://www.developpez.com
Le 21/03/2013 à 15:46
Très clairement pour moi File System, Networking et Ranges sont les seuls à m'intéresser.

Les modules ça a l'air cool comme ça, mais ça rajoute un truc à apprendre parce que c'est pas comme si ça remplaçait les #include. Bon, ça accélère la compilation sans affecter les performances du résultat je crois, donc je suis pas contre. Mais ça ne m'intéresse pas plus que ça, si ça y est pourquoi pas si ça y est pas je m'en passe fort bien.

Pour le reste je suis pas contre mais je n'en ai pas besoin.

Passons donc à ce qui m'intéresse .

Le File System, ça y'en a besoin. Clairement. La gestion des fichiers en C++ c'est une boucherie. (Si au passage ils pouvaient améliorer les stream je serais pas contre mais je rêve pas faudrait une modification du langage pour ça).

Le Networking : de la standardisation là dessus ça peut pas faire de mal, c'est le foutoir pardonnez moi l'expression.

Pour les ranges, je m'intéresse à la question parce que je travaille bien plus souvent sur des conteneurs complets que sur une partie (voire toujours, sauf si l'algo est vraiment tordu/optimisé à mort). De plus, il faudrait qu'il soit simple de fournir des ranges dans l'interface d'une classe, chose qui n'est pas vraiment agréable avec les itérateurs.
0  0 
Avatar de Klaim
Membre expert https://www.developpez.com
Le 21/03/2013 à 16:14
Citation Envoyé par germinolegrand Voir le message

Les modules ça a l'air cool comme ça, mais ça rajoute un truc à apprendre parce que c'est pas comme si ça remplaçait les #include. Bon, ça accélère la compilation sans affecter les performances du résultat je crois, donc je suis pas contre. Mais ça ne m'intéresse pas plus que ça, si ça y est pourquoi pas si ça y est pas je m'en passe fort bien.
Je sais pas pour toi mais perso le probleme N1 du C++ en pratique c'est bien la lenteur de la compilation, meme apres avoir fais en sorte de minimiser les degats.

L'autre truc c'est qu'q priori les module vont justement retirer la necessite de comprendre pas mal de trucs lies aux headers (si ils vont par la solution sans headers mais c'est pas clair ou on en est...)
0  0