Neue Programmiersprache

Carbon soll ein besseres C++ werden

29.07.2022
Von 
Paul Krill ist Redakteur unserer US-Schwesterpublikation InfoWorld.
Der experimentelle Nachfolger von C++ soll ähnliche Leistung und Kompatibilität bieten – jedoch ohne dessen technische Schulden und "extremen Schwierigkeiten", Verbesserungen vorzunehmen.
Die Programmiersprache Carbon soll C++ ablösen.
Die Programmiersprache Carbon soll C++ ablösen.
Foto: gualtiero boffi - shutterstock.com

Ist es an der Zeit für einen Nachfolger der etwas betagten Programmiersprache C++? Eine Gruppe von Entwicklern bei Google und anderen Unternehmen ist dieser Meinung. Die Gruppe steht hinter einer experimentellen Sprache namens Carbon, die Interoperabilität mit C++ bietet und gleichzeitig vermeintliche Schwierigkeiten bei der Verbesserung der alten Sprache überwindet. Carbon versucht, diese Hindernisse zu überwinden, indem es mit soliden Sprachgrundlagen wie modernen Generika, einer einfachen Syntax und einer modularen Codeorganisation beginnt und dabei die "jahrzehntelangen technischen Schulden" von C oder C++ vermeidet. Der Haken: Carbon ist aktuell noch nicht einsatzbereit.

C++-Nachfolger statt Weiterentwicklung

Die Entwickler von Carbon räumen ein, dass C++ nach wie vor die dominierende Programmiersprache für die Erstellung von leistungsfähiger Software ist und über massive und wachsende Codebasen und Investitionen verfügt. Um die Migration für bestehende C++-Codebasen und C++-Entwickler zu ermöglichen, stellt Carbon daher eher einen Nachfolgeansatz als eine Weiterentwicklung von C++ dar.

Carbon war Gegenstand einer Präsentation letzte Woche auf der CppNorth-Konferenz in Toronto. Ressourcen für Carbon können über das GitHub-Repository des Projekts abgerufen werden. Die Projektentwickler führen die folgenden Anforderungen an einen C++-Nachfolger auf und betonen, dass ihr Ansatz auf dem C++-Ökosystem aufgebaut werden kann:

  • Gleiche Leistung wie C++

  • Nahtlose, bidirektionale Interoperabilität mit C++ (anders als bei Rust)

  • Eine sanfte Lernkurve

  • Vergleichbare Ausdruckskraft

  • Skalierbare Migration

Carbon soll C++ so ähnlich sein wie TypeScript JavaScript und Kotlin Java. Die Designer beabsichtigen, dass Carbon leistungskritische Software, Software- und Sprachentwicklung unterstützt sowie Code sicher und einfach zu lesen und zu schreiben ist. Praktische Sicherheits- und Testmechanismen sowie schnelle und skalierbare Entwicklung sind ebenfalls Ziele. Zu den expliziten Nicht-Zielen gehören dagegen eine stabile ABI (Application Binary Interface) für die gesamte Sprache und Bibliothek sowie eine perfekte Abwärts- und Vorwärtskompatibilität.

Zurzeit gibt es keinen funktionierenden Carbon-Compiler oder eine Toolchain, aber Entwickler können einen Demo-Interpreter für die Sprache untersuchen. Entwickler können sich an einem Diskussionsforum zum Design auf GitHub beteiligen. Eine Open-Source-Projektstruktur, ein Governance-Modell und ein Evolutionsprozess sind ebenfalls zentrale Aspekte von Carbon. (mb)

Dieser Artikel basiert auf einem Beitrag der US-Schwesterpublikation Infoworld.