V – eine neue Programmiersprache betritt die Open-Source-Bühne

Als Einmannprojekt gestartet soll die Sprache Rust und Go Konkurrenz machen und Ende des Jahres als 1.0-Release erscheinen.

In Pocket speichern vorlesen Druckansicht 514 Kommentare lesen
V - eine neue Programmiersprache betritt die Open-Source-Bühne

(Bild: Shutterstock)

Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag

Über einen Mangel an Sprachauswahl können sich Entwickler wahrlich nicht beklagen. Trotzdem treten regelmäßig neue Kandidaten an und werben mit ihren Vorzügen.

Der jüngste Neuzuwachs ist die bisher von lediglich einem Entwickler verfasste Programmiersprache V, die nun als Open-Source-Projekt zum Mitentwickeln einlädt. Der Initiator Alexander Medvednikov scheut dabei nicht den Vergleich zu Go und Rust.

Wie die beiden Sprachen ist auch V syntaktisch an C angelehnt. Sie soll zudem problemlos mit C zusammenarbeiten und eine ähnliche Performance aufweisen. Außerdem lassen sich V-Sourcen nicht nur in Maschinencode, sondern auch in C übersetzen. Die neue Programmiersprache ist allerdings von Grund auf in V selbst geschrieben.

Als Vorzüge preist die Startseite des Projekts die Performance beim Kompilieren sowie schlanke Binaries. Ein einfacher Webserver soll sich mit 65 KByte Größe erstellen lassen. Die Programmiersprache kommt zusammen mit der Standardbibliothek auf insgesamt 400 KByte. Die hohe Kompiliergeschwindigkeit bezieht sich auf den V-eigenen Compiler, ein Umweg über C-Code ermöglicht das Optimieren über GCC beziehungsweise Clang.

Umgekehrt lässt sich C-Code nach V übersetzen, wie folgendes Codebeispiel von der V-Site zeigt:

// C++
std::vector<std::string> s;
s.push_back("V is ");
s.push_back("awesome");
std::cout << s.size();

// V
mut s := []
s << 'V is '
s << 'awesome'
println(s.len)

Mittelfristig ist ein Tool für die deutlich komplexere Übersetzung von C++ nach V geplant.

V bringt einige Sicherheitskonzepte von Haus aus mit. So existieren weder globale Variablen noch null oder undefinierte Werte. Variablen und Structs sind standardmäßig als Immutables (unveränderbar) definiert und müssen ansonsten über das Schlüsselwort mut als veränderbar gekennzeichnet werden. Ihre Initialisierung ist Pflicht.

V ist keine rein akademische Sprache, sondern der Autor hat sie im Rahmen eines übergreifenden Messengers entwickelt, der gleichzeitig Namensgeber ist. Der Client für Slack, Skype, Twitter und weitere Messaging-Plattformen heißt Volt, und ursprünglich hatte die Sprache denselben Namen. Daneben hat der Autor eine Blogging-Software, einen Editor, eine schlanke Repository-Plattform und ein Widget-Toolkit mit V verfasst. Außerdem ist er dabei, das Spiel DOOM nach V zu übersetzen, wozu ein eigenes GitHub-Repository exisitiert.

Beim Übersetzen von Doom in V gibt es wohl noch einige kleinere Hürden zu überwinden.

(Bild: Vlang.io)

Unter dem Strich wirkt V bereits in der Alpha durchaus interessant. Auch der Vergleich zu anderen Programmiersprachen wirkt technisch konsequent, und im Open-Source-Bereich bestimmt die Community den Fortschritt. Allerdings hat die Sprachkonkurrenz Rust und Go von dem Antrieb durch Mozilla beziehungsweise Google profitiert.

Wenn Medvednikov beziehungsweise die Community das ambitionierte Ziel erreichen sollte, Ende 2019 mit Version 1.0 an den Start zu gehen, wird heise Developer gerne darüber berichten. Weiter Informationen zu V finden sich auf der Projektseite, die auch ein ausführliches FAQ enthält, und im GitHub-Repository.

[Update 26.7., 16:15 Uhr]: Das Codebeispiel wurde geändert, da der Ausgang C++ und nicht C ist. Außerdem wurde der Vorname des Autors der Programmiersprache auf seinen Wunsch von Alex auf Alexander geändert, um potenzielle Verwechslungen zu vermeiden. (rme)