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?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.

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)

    Contact form

    Anruf buchen oder füllen Sie das Formular aus. Wir kontaktieren Sie, sobald wir Ihre Anfrage bearbeitet haben.

    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
    Jetzt 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

    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.

    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.

    Weitere Dienste, die wir abdecken

    Pfeil