C++ : Herb Sutter quitte microsoft et C++ 26 dans 2 ans
jeu, 14/11/2024 - 08:22
Herb Sutter, un des contributeurs et défenseurs les plus actifs de C++, quitte Microsoft. Depuis plus de 22 ans, Herb s'occupait de C++ dans les logiciels et les outils de l'éditeur. Il rejoint les équipes de Citadel Securities en qualité de Technical Fellow et stratège technologique. Herb rassure : il continuera à être au comité ISO ++. « Le C++ est d'une importance cruciale pour notre société et est actuellement en pleine croissance. Le C++ est essentiel non seulement chez Citadel Securities, mais dans l'ensemble des marchés financiers et de l'industrie financière... et ce n'est là qu'un des secteurs critiques de notre civilisation qui dépend fortement du code C++ et continuera à le faire pour l'avenir prévisible. Je suis ravi que la direction de CitSec partage mon opinion et mes objectifs pour continuer à faire évoluer le C++ de l'ISO afin de l'améliorer, notamment en augmentant la sécurité et la facilité d'utilisation pour renforcer l'infrastructure clé de notre société (y compris nos marchés) et rendre le C++ encore plus facile à utiliser et plus expressif. Je suis impatient de voir ce que la prochaine décennie réserve au C++... 2024 s'est vraiment révélée être une année charnière pour l'évolution du C++, et j'ai hâte de voir où cette aventure nous mènera ensuite. » déclare-t-il sur son site officiel.
Durant la dernière CppCon, Herb a parlé de C++ 26, le prochain standard du langage qui devrait sortir mi-2026. Il promet même la plus grande évolution depuis C++ 11 ! Un des changements se fera sur les compilateurs Clang et GCC. Il évoque 4 évolutions :
- amélioration notable de std:execution pour les codes parallèles et concurrents
- réflection et génération de code pour améliorer le temps de compilation
- notion de contrats pour valider rapidement les interfaces, les codes, etc.
- sécurité mémoire et des types
La sécurité du langage, notion du safe / unsafe memory, est un des points importants de C++ 26. Sur ce domaine, un document essentiel a été publié en mars 2024 : erroneous behavior for uninitialized reads : https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2795r5.html
Herb précise même que cette nouvelle approche permettra de prendre un code existant et de le compiler avec un compilateur C++ 26 pour éliminer les undefined behavior (UB). Les UB sont des violations de codes, de fonctionnements par exemple un overflow ou tout problème de définition d'une valeur, d'une variable, etc. Un important travail est en cours pour lever les UB et réduire les risques au niveau du code même.
Post de Herb : https://herbsutter.com/2024/11/