Google's Sprache Carbon hat das Potenzial C++ zu ersetzen

Auf der CPP North-Konferenz hat Chandler Carruth, ein führender Software-Ingenieur bei Google, die Markteinführung der Programmiersprache Carbon bekannt gegeben. Carbon von Google ist eine quelloffene, experimentelle Sprache, die eher als ein Nachfolger von C++ gedacht ist, nicht aber als dessen Ersatz. In diesem Beitrag werfen wir einen detaillierteren Blick auf Carbon, seine Ziele, sein mögliches Potenzial und die Gründe, warum C++ einen Nachfolger verdient.
Googles Carbon-Sprache

Was ist das Problem mit C++?

Laut dem TIOBE-Index für August 2022, belegt C++ den vierten Platz nach Python, C und Java. Seit 2001 ist C++ nie hinter den 5. Platz abgerutscht, was auf die große Popularität dieser Sprache trotz ihres Alters (sie erschien erstmals 1985) verweist. C++ hat eine Reihe von Vorteilen, die für die Entwicklung leistungsfähiger Software von entscheidender Bedeutung sind. Warum also benötigt sie dann einen Nachfolger?Wie von Chandler Carruth erläutert, erreicht C++ die wichtigsten Ziele der Sprache nicht. Dazu gehören u.a. die Unterstützung von leistungskritischer Software, eine einfache Syntax, die Weiterentwicklung der Sprache, moderne Systeme und robuste Sicherheit. Die spezifischen Sprachmerkmale und bürokratische Probleme verhindern eine schrittweise Verbesserung von C++.Was die Eigenheiten der Sprache betrifft, so hat C++ im Laufe seiner Entwicklung hohe technische Schulden angehäuft. Außerdem hat es viele Altlasten aus der Sprache C übernommen. Außerdem legen C++-Benutzer großen Wert auf Abwärtskompatibilität, um bestehende C/C++-Ökosysteme zu unterstützen. Gleichzeitig erlaubt die Abwärtskompatibilität nicht, die technischen Schulden zu beheben, so dass der C++-Entwicklungsprozess die Umsetzung von Verbesserungen noch schwieriger macht.Apropos bürokratische Probleme: Der Prozess der C++-Verbesserung wird durch einen Ausschuss (WG21), der sich auf die Standardisierung, nicht aber auf das Design konzentriert, erheblich verlangsamt. Die WG21 arbeitet mit einem schleppenden Wasserfallverfahren, das zu Verzögerungen bei wichtigen Entscheidungen führt. Darüber hinaus hat der Ausschuss nur beschränkten Zugang zu den meisten C++-Experten und vertritt nur bestimmte Unternehmen und Nationen, ohne die große C++-Gemeinschaft zu berücksichtigen.

Ziele der Programmiersprache Carbon

Als eine Nachfolge-Sprache hat Carbon die Ziele von C++ geerbt und ein weiteres hinzu bekommen.
Kohlenstoffsprache
Auf der Basis eines Ansatzes für Nachfolgesprachen fokussiert Carbon auf drei wesentliche Punkte, die die derzeitigen Herausforderungen von C++ adressieren und uns erlauben, Carbon als ein erfolgversprechendes Projekt zu betrachten: die Interoperabilität, die Migration und die Evolution der Sprache. Auf der Grundlage dieser Aspekte versuchen die Entwickler von Carbon, die technischen Altlasten von C++ zu beseitigen, den Zugang zu den bestehenden Ökosystemen zu erhalten, schnelle Verbesserungen zu garantieren und die Abwärtskompatibilität durch toolbasierte Upgrades zu verhindern.

Was verspricht Carbon uns?

Die momentan verfügbaren Daten erlauben es uns, Carbon als ein sehr viel versprechendes Projekt zu erachten. Was die praktische Seite der neuen Sprache angeht, so können wir laut Chandler Carruth von Carbon eine vereinfachte Grammatik, Introducer-Schlüsselwörter (d.h. fn und var), ein per Definition geprüftes generisches System und eine steile Erfahrungskurve erwarten. Carbon wird die starke Performance von C erben und dessen größte Schwächen beseitigen.

Darüber steht, dass Carbon eine quelloffene Programmiersprache sein wird, die mit C++ kompatibel ist. Carbon-Code ist dem C++-Code bereits sehr ähnlich und in vielen Situationen sind sie fast identisch. Darüber hinaus kann Carbon-Code in C++-Code eingebunden werden. C++-Entwicklern, die komplett auf Carbon wechseln wollen, steht also ein Toolkit zur Verfügung, mit dem sie C++-Bibliotheken automatisch in Code in der neuen Sprache übersetzen lassen können. Auch eine umgekehrte Migration ist denkbar. In der Zukunft können diese Bibliotheken in einem vorhandenen C++-Projekt genutzt werden. Alle Carbon-Tools sind auf GitHub gehostet und werden unter der Apache 2.0-Lizenz bereitgestellt. Bislang ist ein Demo-Carbon-Interpreter erhältlich.

Ein wichtiger Aspekt des Experimentalprojekts Carbon ist die Organisationsstruktur. Das Carbon-Team wird von den Prinzipien der Eingliederung und Transparenz geleitet. Die Managementstruktur von Carbon ist auf eine rasche Beschlussfassung, Flexibilität und eine schnelle Entwicklung des Projekts ausgerichtet. Alle wichtigen Beschlüsse werden von den Carbon-Leitern getroffen, die zurzeit von Chandler Carruth, Kate Gregory und Richard Smith repräsentiert werden. Da das Carbon-Projekt auf einem Open-Source-Entwicklungsmodell basiert, können alle Benutzer GitHub-Anfragen senden, um Veränderungen am Projekt anzuregen und die Entwicklung der Carbon-Sprache zu fördern.

Derzeit entwickeln Google-Mitarbeiter die Programmiersprache Carbon als ein internes Projekt. Allerdings ist geplant, die Einbeziehung des Unternehmens in das Projekt zu reduzieren, da den Entwicklern inzwischen klar ist, dass Carbon für den zukünftigen Erfolg ein eigenständiges, von der Community geführtes Projekt sein muss.

Fazit

Es ist sehr wichtig zu berücksichtigen, dass es sich bei Carbon um ein Projekt mit experimentellem Charakter handelt und es ist noch nicht möglich, eindeutig zu sagen, dass Carbon ein vollständiger Nachfolger von C++ ist. Laut der Carbon Roadmap soll die Ausarbeitung der wichtigsten Konstruktionen der Sprache bis Ende 2022 abgeschlossen sein und das ist genau der Zeitraum, in dem Carbon 0.1 erscheinen soll. Es wird noch einige Zeit dauern, bis der Erfolg des Vorhabens feststeht, aber anhand der angekündigten Funktionen und Prinzipien der Entwicklung kann man schon jetzt von den vielversprechenden Aussichten der Programmiersprache Carbon als Nachfolgerin von C++ reden.
Vielen Dank für Ihre Bewertung!
Vielen Dank für Ihren Kommentar!

Inhaltsübersicht

Bewerten Sie diesen Artikel:

4/5

4.8/5 (37 bewertungen)

    Kontakt aufnehmen

    Anruf buchen oder füllen Sie das Formular aus. Wir melden uns, sobald wir Ihre Anfrage.

    Sprachnachricht senden
    Datei beifügen
    Datei hochladen

    Sie können 1 Datei mit bis zu 2 MB anhängen. Gültige Dateiformate: pdf, jpg, jpeg, png.

    Mit dem Klicken auf Senden erklären Sie sich damit einverstanden, dass Innowise Ihre personenbezogenen Daten gemäß unserer Datenschutzrichtlinie verarbeitet, um Ihnen relevante Informationen bereitzustellen. Mit Angabe Ihrer Telefonnummer stimmen Sie zu, dass wir Sie per Sprachanruf, SMS oder Messaging-Apps kontaktieren. Es können Gebühren für Anrufe, Nachrichten und Datenübertragung anfallen.

    Sie können uns auch kontaktieren
    über contact@innowise.com

    Wie geht es weiter?

    1

    Sobald wir Ihre Anfrage erhalten und geprüft haben, melden wir uns bei Ihnen, klären erste Fragen und unterzeichnen bei Bedarf ein NDA, um die Vertraulichkeit zu gewährleisten.

    2

    Nach der Analyse Ihrer Ziele, Anforderungen und Erwartungen erstellt unser Team einen Projektvorschlag mit Leistungsumfang, Teamgröße sowie Zeit- und Kostenschätzung.

    3

    Wir vereinbaren einen Termin, um das Angebot gemeinsam zu besprechen und alle Details festzulegen.

    4

    Abschließend unterzeichnen wir den Vertrag und starten umgehend mit der Umsetzung Ihres Projekts.

    Pfeil