Le langage Carbon de Google pourrait remplacer le C++

Lors de la conférence CPP North, Chandler Carruth, ingénieur logiciel principal chez Google, a annoncé la sortie du langage de programmation Carbon. Carbon de Google est un langage open-source expérimental qui se veut plutôt le successeur de C++, mais pas son remplaçant. Dans cet article, nous examinerons de plus près Carbon, ses objectifs, son potentiel et les raisons pour lesquelles C++ a besoin d'un successeur.
Le langage Carbon de Google

Quel est le problème avec le C++?

Selon le Indice TIOBE pour août 2022, C++ occupe la 4e place après Python, C, et Java. Depuis 2001, le C++ n'est jamais descendu en dessous de la 5e place, ce qui indique la grande popularité de ce langage de programmation malgré son âge (première apparition en 1985). Le C++ présente de multiples avantages cruciaux pour le développement de logiciels à performances critiques. Alors pourquoi a-t-il besoin d'un successeur?As explained by Chandler Carruth, C++ falls short of the achievement of the language’s major goals. They include the support of performance-critical software, simple syntax, language evolution, modern systems, and robust safety among others. The specific language features and bureaucratic issues prevent C++ from gradual improvement. As for language peculiarities, C++ has accumulated high technical debt throughout its evolution. Moreover, it has inherited many legacy features from the C language. Besides, C++ users prioritize backwards compatibility to support existing C/C++ ecosystems. At the same time, backwards compatibility doesn’t allow for fixing the technical debt, hence the C++ evolution process makes it even more difficult for improvements to get implemented. Speaking of bureaucratic issues, the process of C++ improvement is significantly slowed down by a committee (WG21) focused on standardization but not design. WG21 employs sluggish waterfall processes that lead to delays in making crucial decisions. Moreover, the committee has restricted access to most C++ experts and only represents certain companies and nations, ignoring the large C++ community.

Objectifs du langage de programmation Carbon

En tant que langage successeur, le carbone a hérité de la technologie les objectifs initiaux du C++ et en a reçu un autre.
Langage du carbone
Basé sur une approche de langage successeur, Carbon se concentre sur 3 points majeurs qui répondent aux défis existants du C++ et nous permettent de considérer Carbon comme un projet prometteur: l'interopérabilité, la migration et l'évolution du langage. En s'appuyant sur ces points, les créateurs de Carbon s'efforcent de se débarrasser de la dette technique du C++, de conserver l'accès aux écosystèmes existants, d'assurer des améliorations rapides et d'éviter la rétrocompatibilité en utilisant des mises à jour basées sur des outils.

Quelles sont les promesses de Carbon?

Les informations disponibles à l'heure actuelle nous permettent de considérer Carbon comme un projet très prometteur. En ce qui concerne l'aspect pratique du nouveau langage de programmation, Chandler Carruth affirme que nous pouvons attendre de Carbon une grammaire plus simple, des mots-clés introducteurs (c'est-à-dire fn et var), un système générique vérifié par définition et une courbe d'apprentissage abrupte. Carbon héritera des hautes performances de C et évitera ses principaux inconvénients.

En plus de cela, les créateurs de Carbon affirment que Carbon sera un langage de programmation open-source et totalement interopérable avec C++. Le code Carbon est très similaire au code C++, et dans de nombreux cas, ils sont presque identiques. De plus, le code Carbon peut être intégré au code C++. Ainsi, les développeurs C++ qui souhaitent passer entièrement à Carbon disposeront d'une boîte à outils pour traduire automatiquement les bibliothèques C++ en code dans le nouveau langage. La migration inverse est également possible. À l'avenir, ces bibliothèques pourront être utilisées dans un projet C ++ existant. Tous les outils Carbon sont hébergés sur GitHub et distribués sous la licence Apache 2.0. Jusqu'à présent, il existe un interpréteur de carbone de démonstration disponible.

La structure de gouvernance est un élément important du projet expérimental Carbon. L'équipe Carbon est guidée par les principes d'inclusion et d'ouverture. La structure de gouvernance de Carbon est conçue pour une prise de décision rapide, une flexibilité et un développement rapide du projet. Toutes les décisions cruciales sont prises par les responsables de Carbon, représentés pour l'instant par Chandler Carruth, Kate Gregory et Richard Smith. Le projet Carbon étant basé sur le modèle de développement open-source, chaque utilisateur peut envoyer des requêtes GitHub pour suggérer des changements au projet et faire évoluer le langage Carbon.

Pour l'instant, les employés de Google travaillent sur le langage de programmation Carbon en tant que projet interne. Cependant, il est prévu de réduire le niveau d'implication de l'entreprise dans le projet, car les développeurs comprennent que pour un succès futur, Carbon doit être un projet indépendant et dirigé par la communauté.

Conclusion

Il est important de comprendre que Carbon est un projet expérimental et qu'il est trop tôt pour affirmer sans équivoque que Carbon est un successeur à part entière de C++. Selon la feuille de route de Carbon, le développement des principales constructions du langage devrait être achevé d'ici la fin 2022, et c'est exactement le moment où Carbon 0.1 devrait être publié. Il faudra du temps pour évaluer le succès du projet, mais nous pouvons d'ores et déjà parler des perspectives élevées du langage de programmation Carbon en tant que successeur de C++ sur la base des fonctionnalités et des principes de développement annoncés.
Merci de l'avoir évalué !
Merci pour le commentaire !

Table des matières

Notez cet article :

4/5

4.8/5 (45 commentaires)

    Contactez-nous

    Réserver un appel ou remplissez le formulaire ci-dessous et nous vous contacterons dès que nous aurons traité votre demande.

    Envoyez-nous un message vocal
    Joindre des documents
    Charger fichier

    Vous pouvez joindre un fichier d'une taille maximale de 2 Mo. Formats de fichiers valables : pdf, jpg, jpeg, png.

    En cliquant sur Envoyer, vous consentez à ce qu'Innowise traite vos données personnelles conformément à notre politique de confidentialité. Politique de confidentialité pour vous fournir des informations pertinentes. En communiquant votre numéro de téléphone, vous acceptez que nous puissions vous contacter par le biais d'appels vocaux, de SMS et d'applications de messagerie. Les tarifs des appels, des messages et des données peuvent s'appliquer.

    Vous pouvez également nous envoyer votre demande
    à contact@innowise.com
    Que se passe-t-il ensuite ?
    1

    Une fois que nous aurons reçu et traité votre demande, nous vous contacterons pour détailler les besoins de votre projet et signer un accord de confidentialité. Projet et signer un accord de confidentialité.

    2

    Après avoir examiné vos souhaits, vos besoins et vos attentes, notre équipe élaborera une proposition de projet avec l'étendue des travaux, la taille de l'équipe, les délais et les coûts estimés.

    3

    Nous prendrons rendez-vous avec vous pour discuter de l'offre et régler les détails.

    4

    Enfin, nous signons un contrat et commençons immédiatement à travailler sur votre projet.

    Autres services couverts

    flèche