Bitte hinterlassen Sie Ihre Kontaktdaten, wir senden Ihnen dann unsere Übersicht per E-Mail zu
Ich stimme der Verarbeitung meiner persönlichen Daten zu, um personalisiertes Marketingmaterial in Übereinstimmung mit der der Datenschutzrichtlinie geschickt zu bekommen. Mit der Bestätigung der Anmeldung erklären Sie sich damit einverstanden, Marketingmaterial zu erhalten
Vielen Dank!

Das Formular wurde erfolgreich abgeschickt.
Weitere Informationen finden Sie in Ihrem Briefkasten.

Innowise ist ein internationales Unternehmen für den vollen Zyklus der Softwareentwicklung, welches 2007 gegründet wurde. Unser Team besteht aus mehr als 1600+ IT-Experten, welche Software für mehrere Branchen und Domänen weltweit entwickeln.
Über uns
Innowise ist ein internationales Unternehmen für den vollen Zyklus der Softwareentwicklung, welches 2007 gegründet wurde. Unser Team besteht aus mehr als 1600+ IT-Experten, welche Software für mehrere Branchen und Domänen weltweit entwickeln.

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.
Google's Carbon Sprache

Was ist das Problem mit C++?

Ausgehend von 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)

Ähnliches zum Lesen

Haben Sie eine Herausforderung für uns?

    Bitte fügen Sie Projektdetails, Dauer, Technologie-Stack, benötigte IT-Experten und andere Infos bei.
    Bitte fügen Sie Projektdetails, Dauer, Technologie-Stack, benötigte IT-Experten
    und andere Infos bei.
    Hängen Sie nach Bedarf zusätzliche Dokumente an.
    Datei hochladen

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

    Bitte beachten Sie, dass Innowise mit dem Anklicken der Schaltfläche 'Senden' Ihre persönlichen Daten nach der Datenschutzrichtlinie verarbeiten wird, um Ihnen die gewünschten Informationen zukommen zu lassen.

    Wie geht es weiter?

    1

    Sobald wir Ihre Anfrage erhalten und bearbeitet haben, werden wir uns mit Ihnen in Verbindung setzen, um Ihre Projektanforderungen zu besprechen und eine NDA (Vertraulichkeitserklärung) für die Vertraulichkeit der Informationen zu unterzeichnen.

    2

    Nach der Prüfung der Anforderungen erstellen unsere Analysten und Entwickler einen Projektvorschlag, der Arbeitsumfang, Teamgröße, Zeit- und Kostenschätzung enthält.

    3

    Wir vereinbaren einen Termin mit Ihnen, um das Angebot zu besprechen und eine Vereinbarung mit Ihnen zu treffen.

    4

    Wir unterzeichnen einen Vertrag und beginnen umgehend mit der Arbeit an Ihrem Projekt.

    Vielen Dank!

    Ihre Nachricht wurde gesendet.
    Wir werden Ihre Anfrage bearbeiten und Sie so schnell wie möglich kontaktieren.

    Vielen Dank!

    Ihre Nachricht wurde gesendet.
    Wir werden Ihre Anfrage bearbeiten und Sie so schnell wie möglich kontaktieren.

    Pfeil