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 !

Herb Sutter, président de l'ISO C++, quitte Microsoft après 22 années de collaboration et déclare que la prochaine version de C++ 26 est « la plus importante depuis C++11 »

Le , par Stéphane le calme

268PARTAGES

10  0 
Herb Sutter, l’un des leaders les plus influents de la communauté C++ et actuel président du comité ISO C++, quitte Microsoft après 22 années de collaboration. Au-delà de ce départ, Sutter a surpris la communauté en déclarant que C++ 26, la prochaine grande version du langage prévue pour 2026, serait la version « la plus impactante depuis C++11 ». Cette annonce a de quoi susciter l’enthousiasme et l’impatience, tant C++11 avait introduit des avancées majeures et modernisé le langage de manière significative.

Herb Sutter : une carrière dédiée à l’évolution de C++

Herb Sutter est un nom bien connu dans le monde du développement logiciel, en particulier pour sa contribution à l’évolution de C++. Ingénieur en chef chez Microsoft pendant plus de deux décennies, il a joué un rôle de premier plan dans la direction de l’implémentation et de la standardisation de C++ à l’échelle mondiale. Sutter a également influencé les grandes décisions techniques qui ont façonné C++ en tant que langage polyvalent, performant et moderne. Son influence a été déterminante dans les versions majeures, y compris C++11, C++14, C++17, C++20, et C++23.

Herb Sutter, président du comité C++ de l'ISO, a quitté Microsoft après 22 ans d'activité, pour devenir technical fellow chez Citadel Securities, où il travaillera sur la stratégie technique et la formation. Il continuera à présider le comité ISO et affirme que 2024 a été une « année charnière » pour le langage.

Sutter s'est exprimé lors de la conférence CppCon en septembre, où il a déclaré que « la norme C++ 26 ... est susceptible de changer la façon dont nous développons des logiciels » et qu'elle constitue le plus grand changement apporté au langage depuis C++ 11. La spécification de C++ 26 devrait être achevée à la mi-2026, comme son nom l'indique, bien que le déploiement des fonctionnalités mises en œuvre dans des compilateurs tels que Clang et GCC sera progressif ; certaines sont déjà présentes.

Sutter a identifié quatre caractéristiques clés de C++ 26 qui, selon lui, « semblent en bonne voie ». Il s'agit :
  • d'améliorations apportées à std:execution (une bibliothèque standard pour les opérations asynchrones) pour améliorer la concurrence et le parallélisme
  • d'améliorations de la sécurité des types et de la mémoire, dans le but d'atteindre la parité avec d'autres langages modernes et plus sûrs.
  • la réflexion et la génération de code, décrites par Sutter comme « faisant partie de notre changement radical vers la programmation à la compilation » et « sans doute [la] fonctionnalité la plus impactante jamais ajoutée ».
  • des contrats, qui spécifient les interfaces de manière à ce que leur conformité puisse être vérifiée, y compris les préconditions, les postconditions et les affirmations d'état valide.

La sécurité est un problème majeur dans la communauté C++, de nombreux experts en sécurité recommandant aux développeurs de passer à des langages tels que Rust afin d'éviter les bogues et les problèmes associés à des problèmes tels que l'utilisation hors limites de la mémoire et les comportements indéfinis. Lors de la conférence CppCon, Sutter a déclaré que la parité de sécurité ne signifiait pas la perfection, mais que les « cibles prioritaires » seraient abordées, notamment l'augmentation du nombre de bibliothèques sûres au sein de la norme, la suppression des comportements indéfinis liés à la sécurité, de nouvelles règles de sécurité statiques à la compilation et des contrôles de sécurité dynamiques.

Dans un billet de blog publié cette semaine, Sutter a déclaré que la version précédente, C++ 11, avait introduit le C++ moderne avec des fonctionnalités telles que l'auto, les lambdas et les pointeurs intelligents sûrs. C++ 26 se caractérisera par « la sécurité par défaut et une prise en charge de premier ordre des bibliothèques génératives à la compilation basées sur la réflexion ».


C++ 11 : une révolution qui a modernisé le langage

Avant d’anticiper les changements que pourrait apporter C++26, il est important de revenir sur l’impact de C++11....
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

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

Avatar de micka132
Expert confirmé https://www.developpez.com
Le 20/11/2024 à 10:29
L'Herb est sans doute plus verte ailleurs !
0  0 
Avatar de smarties
Expert confirmé https://www.developpez.com
Le 22/11/2024 à 12:17
Citation Envoyé par d_d_v Voir le message
N'importe quoi !
A part ça, je ne vois pas en quoi le c++ est complexe. Il n'y a que les débutants qui peuvent le trouver compliqué, ou au moins complexe. Mais c'est comme pour tous les langages: chaque fois, que je me remets à vouloir faire un petit script python, je trouve le langage compliqué, dès que je veut faire autre chose que du code basique, et le code devient vite illisible à cause du système d'indentation et du non-typage obligatoire.
La gestion des bibliothèques est archaïque comparé aux systèmes modernes (Go, Rust avec Cargo, Python avec pip/poetry/uv, Java avec Maven, Android, ...). Pas de gestionnaire, ni de doc centralisée non plus. Je galère à chaque fois que je dois compiler un projet récupéré pour rassembler les bibliothèques sur mon système.
Il y a très longtemps que je n'ai pas fait de C++ et je n'ai pas un bon souvenir de la partie pointeur.
Quand quelqu'un a utilisé des notions avancées du langages, ça devient difficile à lire quand on ne l'utilise pas tous les jours.
De ce que j'ai vu des sources C++, les développeurs commentent peu (mais je n'ai peut être pas eu de chance).
...
1  1 
Avatar de imperio
Membre chevronné https://www.developpez.com
Le 24/11/2024 à 12:44
Citation Envoyé par d_d_v Voir le message
N'importe quoi !
A part ça, je ne vois pas en quoi le c++ est complexe. Il n'y a que les débutants qui peuvent le trouver compliqué, ou au moins complexe. Mais c'est comme pour tous les langages: chaque fois, que je me remets à vouloir faire un petit script python, je trouve le langage compliqué, dès que je veut faire autre chose que du code basique, et le code devient vite illisible à cause du système d'indentation et du non-typage obligatoire.
Les templates c'est effectivement super intuitifs, et les erreurs du compilateur aident vraiment pour comprendre ce qu'on a mal fait.

Ou bien cas que j'aime beaucoup : c'est copy ou c'est move ?
0  0 
Avatar de d_d_v
Membre expérimenté https://www.developpez.com
Le 20/11/2024 à 9:53
Citation Envoyé par Zeeraptor Voir le message
***Il pourraient commencer par adopter le formatage par indentation et virer les points virgules
N'importe quoi !
A part ça, je ne vois pas en quoi le c++ est complexe. Il n'y a que les débutants qui peuvent le trouver compliqué, ou au moins complexe. Mais c'est comme pour tous les langages: chaque fois, que je me remets à vouloir faire un petit script python, je trouve le langage compliqué, dès que je veut faire autre chose que du code basique, et le code devient vite illisible à cause du système d'indentation et du non-typage obligatoire.
3  4 
Avatar de d_d_v
Membre expérimenté https://www.developpez.com
Le 26/11/2024 à 15:13
Citation Envoyé par imperio Voir le message
Les templates c'est effectivement super intuitifs, et les erreurs du compilateur aident vraiment pour comprendre ce qu'on a mal fait.

Ou bien cas que j'aime beaucoup : c'est copy ou c'est move ?
T'es au courant qu'on n'est pas obligé d'utiliser 100% des fonctionnalités d'un langage ?
En général, les projets contiennent un peu de template, voire pas du tout, et une fois que la partie template est faite, plus personne n'y touche (ou le moins possible).
On voit que t'y connais rien.
La plupart des développeurs c++ que j'ai croisés détestent les templates, donc en général on évite.
Tu aurais pu me sortir la fonctionnalité move, la syntaxe de parallélisation des fonctions STL, les exceptions, es expressions lambdas, mais non, tu me sors un truc que tout le monde déteste et évite.
0  1 
Avatar de d_d_v
Membre expérimenté https://www.developpez.com
Le 26/11/2024 à 15:23
Citation Envoyé par smarties Voir le message
La gestion des bibliothèques est archaïque comparé aux systèmes modernes (Go, Rust avec Cargo, Python avec pip/poetry/uv, Java avec Maven, Android, ...). Pas de gestionnaire, ni de doc centralisée non plus. Je galère à chaque fois que je dois compiler un projet récupéré pour rassembler les bibliothèques sur mon système.
Ouais, mais ça, c'est pas la partie langage, mais la partie de compilation/linkage.

Citation Envoyé par smarties Voir le message

Il y a très longtemps que je n'ai pas fait de C++ et je n'ai pas un bon souvenir de la partie pointeur.
Donc, c'est bien ce que je pensais, vous êtes des débutants, évitez de parler d'un langage que vous ne maitrisez pas. Les pointeurs, c'est la base. Et d'ailleurs, quand on maîtrise, on alloue rarement via des new, on utilise des containers STL et/ou des pointeurs intelligents.

Citation Envoyé par smarties Voir le message

Quand quelqu'un a utilisé des notions avancées du langages, ça devient difficile à lire quand on ne l'utilise pas tous les jours.
Bravo, quelle découverte :! C'est pareil quand je me remet à vouloir faire des scripts python: difficile à relire et à écrire quand on ne l'utilise pas tous les jours.
Et c'est pareil pour n'importe quel autre langage, ou bien un domaine spécifique. Par exemple, ça fait un bout de temps que je n'ai pas fait d'UI en Qt, j'ai réessayé récemment, j'ai eu du mal.
0  1 
Avatar de Zeeraptor
Membre régulier https://www.developpez.com
Le 15/11/2024 à 3:43
***Il pourraient commencer par adopter le formatage par indentation et virer les points virgules
1  10