Pour Google, un langage informatique doit être vivant et peut toujours être amélioré ; y compris l’incontournable ancêtre C++. Ce qui ne devrait pas étonner certains Geeks. Si un langage ne peut être remodelé pour faciliter la progression de la technologie, elle sera remplacée par une nouvelle. Du Coup, Google pense à utiliser son propre langage qui sera “Carbon”.
En Février 2020, un vote crucial a eu lieu au sein du comité de normalisation du C++ sur la rupture de la compatibilité ABI en faveur de la performance. Une Initiative qui visait à affranchir C++ ; de quoi le moderniser. Lors d’un récent évènement consacré au langage C++ cette semaine à Toronto, Chandler Caruth, ingénieur logiciel chez Google, a présenté le langage “Carbon“, décrit comme un successeur expérimental du C++, suscitant un vif intérêt au sein de la communauté C++. Les développeurs de “Carbon” expliquent que si le C++ est le langage dominant pour les logiciels à performances critiques, son héritage et sa dette technique signifient que l’amélioration incrémentale du C++ est extrêmement difficile. Une solution consiste à migrer vers d’autres langages tels que Rust, Kotlin, Swift ou Go, mais il est difficile de migrer vers ces derniers à partir du C++. De plus, dans certains cas, ces derniers présentent une surcharge de performance. “Carbon” est donc un nouveau langage qui vise à égaler les performances de C++ et à maintenir une interopérabilité bidirectionnelle transparente, ainsi qu’une courbe d’apprentissage douce pour les développeurs C++.
Le langage “Carbon” sera familier aux développeurs C++ et C, mais il y a aussi de nombreuses différences. Les fonctions sont déclarées avec le mot clé “fn” et les variables avec “var“. Il existe également des tuples fortement typés. L’inférence de type est supportée par le mot-clé auto. Les pointeurs sont pris en charge mais pas l’arithmétique des pointeurs ; les seules opérations sur les pointeurs sont l’adressage et le déréférencement. Les classes supportent l’héritage simple mais pas l’héritage multiple. La sécurité de la mémoire est une considération importante mais n’est pas l’objectif initial. “La différence entre l’approche de Rust et celle de Carbon est que Rust commence par la sécurité et que Carbon commence par la migration”, affirme le groupe “Carbon“.
Après 50 ans de bon service, le langage C n’a pas eu de modifications mais des ajouts qui génèrent un nouveau langage, le “Carbon“. Google, de son côté, veut avancer de manière technologique et raffiné ; un détachement qui se fait peu à peu.
Comment here