Programmiersprachen

Welche Sprache wird C ersetzen?

Natali Vlatko

© Shutterstock / ConstantinosZ

Der Mit-Erfinder der Programmiersprache D Andrei Alexandrescu beantwortet in einem Blogpost die Frage, welche Sprache am wahrscheinlichsten C vom Thron stoßen wird: D, Go oder Rust. Er fordert außerdem die Go und Rust Community auf, ihre Meinungen beizusteuern.

Andrei Aleyandrescu ist der Mit-Erfinder von D, der Programmiersprache, von der gesagt wird, dass sie Effizienz und Kontrolle mit Safety und Produktivität kombiniert. In seinem Artikel weist er als erstes darauf hin, dass in der Diskussion rund um den Nachfolger von C eine wichtiges Element fehlt: nämlich C++. Die Ära von C++ werde entweder mit C zusammen enden, oder aber C++ werde der Nachfolger von C. Denn C++ sei „the closest language to C and the obvious step up from it“.

Fangen wir mit D an

Alexandrescu beginnt dort, wo er zuhause ist, und listet zehn Vorteile von D in vier Schlüsselbereichen auf:

  • Vergleichbarerer Code ist schneller zu kompilieren als in C++
  • Schneller als Scripting Sprachen bei ähnlichem Komfort
  • Ist einfacher an C und C++ anzukoppeln als andere Sprachen
  • Ist besser als alle anderen System-Sprachen bei generischem oder generativem Programmieren

Was die Herausforderungen betrifft, gibt Alexandrescu zu, dass D eine Vision fehle und die fehlende Unterstützung von Unternehmen zusammen mit einer bruchstückhaften Dokumentation habe die Situation nicht besser gemacht. Außerdem glaubt er, dass die Tatsache, dass D wenig zum Einsatz kommt, obwohl die Sprache bereits länger existiert, auch nicht wirklich helfe.

Viele Entwickler haben bei D Bedenken, dass man sehr gezielte Entscheidungen in Bezug auf die Garbage Collection treffen muss. Reddit-Nutzer GoramM fasst es treffend zusammen:

Weiter zu Go

Gos Vorteile lesen sich für Alexandrescu, wie man es von einer Sprache erwarten würde, die Google entwickelt:

  • Bessere Strategie
  • Solides Engineering
  • Gutes Branding

Ähnlich wie D hat Go aber auch Probleme mit der Garbage Collection und dem Geschwindigkeitsverlust, der daraus und den indirekten Calls entsteht.

Virtually no meaningful Go can be written without resorting to indirect function calls and garbage collection, which are central to its core features. These are major impediments to achieving in-core performance.

Alexandrescus Meinung zu Gos Politik und berühmter Einfachheit führt er aber unter den Herausforderung an. Denn er nennt die Sprache „hopelessly pedestrian“, weil sie nicht in der Lage ist einfache Begriffe oder Algorithmen zu abstrahieren.

Abschließend zu Rust

Alexandrescu sieht viel Potenzial in Rust:

  • Bessere PR
  • Die einzige Sprache von den Dreien, die weltklasse PL-Theoretiker an Bord hat
  • Bessere Safety als andere System-Programmiersprachen

Zum  Thema Safety hebt er hervor, dass Rusts Konzentration darauf sicher zu sein auch eine der Herausforderungen der Sprache darstellt. Es herrsche Uneinigkeit bei der Entscheidung sicheres, präzises Speicher-Management an vorderste Stelle zu setzen:

Unfortunately, that’s seldom the problem domain, which means a large fraction of the thinking and coding are dedicated to essentially a clerical job (which GC languages actually automate out of sight).

Die finale Herausforderung sei Rusts fremdartige Syntax, die laut Alexandrescu keinen wirklichen Vorteil in seiner Einzigartigkeit biete.

Um Projekte von  C und C++ abzuwerben, werde die Aufgabe für die genannten Sprachen sein „play into their respective strengths and find creative solutions to their respective challenges“. Aber eine andere Frage bleibt: Warum muss C überhaupt ersetzt werden? Es ist eine Sprache mit signifikantem historischen Gewicht, Unternehmen und Entwickler haben Jahrzehnte an Zeit und Mühe in das Programmieren dieser Sprache gesteckt. Viele andere Sprachen haben außerdem ihre Syntax auf C aufgebaut, die Sprache zu verlieren würde einige Ausfälle nach sich ziehen.

Aufmacherbild: Being different concept von Shutterstock / Urheberrecht: ConstantinosZ

Verwandte Themen:

Geschrieben von
Natali Vlatko
Natali Vlatko
An Australian who now calls Berlin home, via a two year love affair with Singapore. Natali was an Editorial Assistant for JAXenter.com (S&S Media Group).
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: