Un groupe de travail a proposé au comité de normalisation de C++ de privilégier la sécurité et la simplicité à la compatibilité rétroactive et binaire du langage, soulevant la question d’un éventuel fork du langage. Le document publié le 2 mars préconise des changements d’objectifs et de priorités pour le langage C++, notamment une simplification du code pour faciliter son écriture et sa lecture ainsi qu'un développement rapide et à l’échelle. Les auteurs de ces propositions estiment qu’en tant que langage pour systèmes hautes performances, le C++ a besoin de ces évolutions.

La compatibilité ascendante et descendante et la stabilité de l’interface binaire d'application (ABI) du langage et de la bibliothèque ne font plus partie de leurs priorités. Leur priorité absolue concerne désormais la performance d'exécution. Pour la rétrocompatibilité ou la compatibilité, les auteurs proposent de migrer d'une version de C++ à une autre plutôt que la compatibilité entre elles. Ils justifient cette préférence par leur expérience de l'évolution logicielle au fil du temps en général et par la pertinence d'un modèle « live-at-head », qui consiste à gérer le développement en direct sur une base source unique.

Un risque de fork de C++

Pour atteindre leurs objectifs, les auteurs souhaitent également revoir le support des modèles de compilation et de liaison existants.  Ces derniers sont également favorables à de meilleurs mécanismes dédiés à la décomposition des sous-systèmes logiciels plutôt qu'à la fourniture d'un ABI stable à travers le langage et les bibliothèques. « D’après notre expérience, maintenir la stabilité de l'ABI pour les builds de haut niveau représente une charge de conception importante et permanente. Cela devient un obstacle à l'évolution, qui est l'un de nos objectifs déclarés », ont-ils écrit.

Robert O'Callahan, programmeur C++ de longue date, trouve la proposition intéressante, comme il le déclare dans un billet de blog posté le 27 mars, mais il ajoute qu'il ne serait pas surpris « si elle débouchait par un fork du langage ». Les auteurs précisent que la proposition est basée sur leurs propres cas d’usage, qui ne sont pas nécessairement ceux de chaque utilisateur. Les 17 auteurs, qui travaillent pour des entreprises comme Google et Nvidia, ont également déclaré qu'ils n’essaieraient pas d’obtenir un consensus sur chaque point de la proposition. Le document a été publié sur open-standard.org, un site qui héberge des pages web pour des groupes comme ISO et la Standard C++ Foundation, laquelle supervise le développement du C++.