C++ 3 min de lecture

Une autre grande entreprise tech rejoint le mouvement d’abandon du C++ : comment stopper cette vague de migration ?

Share this article
Une autre grande entreprise tech rejoint le mouvement d’abandon du C++ : comment stopper cette vague de migration ?

Contexte

2011 a marqué la renaissance du C++, portée par la sortie de C++11 qui a introduit de nombreuses fonctionnalités pour moderniser le langage, comme les expressions lambda, les pointeurs intelligents et une bibliothèque standard plus efficace. Cependant, une décennie plus tard, de grands géants de la tech comme Google, Microsoft, Amazon, Apple et Meta engagent des processus de migration hors du C++. Ce mouvement illustre les préoccupations croissantes autour de la sécurité mémoire et l’évolution du paysage de la programmation système.

Tout récemment, une autre grande entreprise a rejoint le mouvement d’abandon du C++ : Apple, qui recommande de remplacer le C++ par Swift.

On pourrait soutenir que le problème ne vient pas du C++ lui-même, mais des développeurs qui l’utilisent. La réalité est pourtant que les grandes entreprises délaissent le C++.

Les géants de la tech et l’abandon du C++

Amazon

Amazon poursuit activement Rust comme remplaçant du C++ dans nombre de ses systèmes critiques. L’accent est mis sur l’exploitation de la sécurité mémoire et des fonctionnalités de concurrence de Rust pour améliorer la fiabilité et la sécurité de son infrastructure.

Amazon a récemment récompensé les professeurs Niranjan Balasubramanian et Michalis Polychronakis pour leurs travaux visant à automatiser la conversion de code C++ vers Rust.

Microsoft

Microsoft a entamé sa transition du C++ vers Rust, en particulier pour les systèmes où la sécurité et les performances sont primordiales. Des projets comme la plateforme cloud Azure et divers outils internes explorent les capacités de Rust pour prévenir les vulnérabilités liées à la mémoire.

Microsoft accroît activement son adoption du langage de programmation Rust.

Google

Google en est aussi aux premières étapes du remplacement du C++ par Rust pour certaines applications. Cette décision découle du besoin de renforcer la sécurité mémoire et de réduire le risque de failles de sécurité liées à la gestion manuelle de la mémoire.

Google investit massivement pour passer du C++ à Rust.

Apple

La stratégie d’Apple consiste à délaisser le C++ au profit de Swift. Swift offre un environnement moderne, sûr et performant, adapté à de nombreuses applications et services d’Apple qui reposaient auparavant sur le C++.

Récemment, Apple a recommandé de remplacer le C++ par Swift.

Meta

Meta (anciennement Facebook) explore Rust comme alternative au C++ pour ses systèmes backend. L’objectif est d’améliorer la sécurité et la robustesse de son infrastructure en adoptant la concurrence sûre et la gestion mémoire de Rust.

Meta a entamé le processus pour délaisser le C++ au profit de Rust.

Le débat sur la sécurité mémoire

Le contexte historique

Pendant des années, la communauté C++ et le comité de normalisation n’ont pas fait de la sécurité mémoire une priorité, malgré l’usage répandu du langage dans les applications critiques en performance. Ce manque d’attention a contribué à de nombreuses vulnérabilités et failles de sécurité très médiatisées.

La réponse de l’industrie

Le mouvement d’abandon du C++ par l’industrie tech est, en partie, une réponse à ces préoccupations de sécurité mémoire. Les entreprises reconnaissent que même des développeurs C++ experts peuvent introduire par inadvertance des problèmes mémoire critiques dans leur code. Cela a stimulé l’adoption de langages comme Rust, qui offrent des garanties de sécurité mémoire à la compilation.

Défis et résistances

Malgré les avantages évidents des langages plus sûrs, une résistance existe au sein de la communauté C++. Certains soutiennent que de bonnes pratiques de codage et des tests rigoureux peuvent atténuer les problèmes mémoire, et considèrent la migration vers d’autres langages comme inutile. Cependant, la tendance de l’industrie montre que le besoin de mécanismes de sécurité intégrés est de plus en plus reconnu comme prioritaire.

Pas encore de solution définitive

La transition hors du C++ est complexe et progressive. Bien qu’elle ait commencé, une migration complète pourrait prendre des années, voire des décennies, compte tenu de l’immensité des bases de code C++ et de la nature critique de nombreux systèmes écrits en C++. Le processus implique non seulement de réécrire du code, mais aussi de garantir compatibilité, performances et fiabilité dans le nouvel environnement de langage.

En attendant, le comité C++ doit trouver une solution définitive à ce problème de sécurité majeur avant que le processus de migration n’atteigne sa pleine vitesse.

Conclusion

Le mouvement des géants de la tech visant à remplacer le C++ par des alternatives plus sûres comme Rust et Swift souligne un changement significatif des priorités de l’industrie logicielle. La sécurité mémoire est devenue une préoccupation critique, et les langages offrant des fonctionnalités de sécurité intégrées gagnent du terrain. Si la migration est en cours, il reste à voir combien de temps prendra la transition complète hors du C++, et quel en sera l’impact à long terme sur le développement logiciel.


Share this article