Viele Entwickler haben schon fieberhaft darauf gewartet – jetzt ist es endlich soweit: Die Programmiersprache „Rust“ steht seit einigen Tagen in der Version 1.0 zum Download bereit.
In erster Linie verfolgt das von Mozilla geführte Projekt das Ziel, eine Sprache zu schaffen, die viele Vorteile bereits etablierter Sprachen vereint und einige Schattenseiten bestehender Konzepte auszuschließen. Speziell das Thema Sicherheit wurde dabei mit besonderem Augenmerk behandelt. Auch die oft lückenhafte Speicherverwaltung soll in „Rust“ vergleichsweise teils erheblich verbessert sein.
Das derzeit wohl berühmteste Entwicklungsprojekt der neuen Sprache ist Mozillas neue Rendering-Engine mit dem Namen „Servo“ als potenzieller „Gecko“-Nachfolger. Eventuell werden noch dieses Jahr erste Bereiche des Firefox-Browsers von der Engine profitieren. In den Bereichen Mobile und Embedding wird „Servo“ wohl in erster Linie seine Bestimmung finden.

Die Hintergründe zu „Rust“

Ursprünglich entsprang das Projekt der Feder von Graydon Hoare, einem Developer aus dem Hause Mozilla. Damals war die Sprache noch als Pendant zu Googles Sprache „Go“ gedacht.
Seit 2009 bereits wird die Entwicklung durch Mozilla unterstützt und fand erstmals 2010 namentlich Erwähnung. Zu dieser Zeit wurde der Code noch mit Hilfe eines OCaml-basierten Compilers erzeugt, der jedoch von einem in Rust selbst geschriebenen Compiler abgelöst wurde. Das erste native Rust-Kompilat wurde im Jahr 2011 erzeugt. Als Backend diente dabei das LLVM-Compilerframework.

Seit dem Erscheinen der ersten nummerierten Pre-Alpha-Version in 2012 wurde das Projekt stetig weiterentwickelt und ist mittlerweile zu einer ausgewachsenen Alternative zu C und C++ herangewachsen. Schließlich wurde am 15. Mai 2015 die erste stabile Version 1.0 mit Compiler, fester Syntax und Standardbibliothek veröffentlicht.

Die bisherigen Erfahrungen bei der Erzeugung des Rust-Compilers flossen in die aktuellen Syntax-Änderungen mit ein. Auch Mozilla‘s „Servo“-Projekt hatte einen starken Einfluss auf die Strukturen von Rust. Viele Sicherheitslücken, die bisher im Zusammenhang mit dem Firefox-Browser auftraten, haben mit der vergleichsweise unsicheren Speicherverwaltung in C++ zu tun, worin der Browser bis dato überwiegend entwickelt wird. Durch den Einsatz von Rust wird hingegen schon zum Zeitpunkt der Kompilierung versucht, mögliche Fehler rechtzeitig aufzudecken – eine der besonderen Stärken, die Mozilla in dem Projekt sieht.

Auch Samsung ist wegen einer möglichen Android-Portierung unterstützend an „Rust“ und „Servo“ beteiligt. Dennoch ist die Entwicklung der Programmiersprache stark Community-getrieben. Rust liegt als freie Software in zwei Lizenzvarianten vor: Der Code kann nach den Bedingungen der MIT- oder der Apache-Lizenz verwendet werden.

Nachteile bisheriger Sprachkonzepte

Einige Nachteile anderer Programmiersprachen haben Hoare zur Entwicklung einer „besseren“ Sprache motiviert. Dazu zählt insbesondere eine unzureichende Speicherverwaltung im Zusammenhang mit der Nebenläufigkeit von Anweisungen und in Folge das Auftreten von Data Races bei ungeklärten Speicherzugriffen durch verschiedenen Threads innerhalb eines einzigen Prozesses.
Zudem bieten die in anderen Sprachen wie C/C++, LISP und Scala oft verwendeten Nullzeiger eine gewisse Oberfläche für Fehler, daher wird deren Dereferenzierung in Rust vermieden. Typenüberprüfung ist aus diesem Grund ein wesentlicher Bestandteil des Rust-Compilers. Selbst in sogenannten „unsafe{}-Blöcken“ ist ein solcher Vorgang nicht zulässig.

Vorteile von „Rust“

  • Angestrebte Fehlerfreiheit durch Früherkennung möglicher Fehler
  • Prädestinierung für die Unterstützung mehrerer Prozessorkerne durch Speichersicherheit
  • Geringe Anfälligkeit für Abstürze und Sicherheitsprobleme
  • Hohe Performanz, vergleichbar mit der von C++
  • Verzicht auf den aufwendigen Einsatz von Garbage Collectors durch festes Typsystem
  • Erweiterung des Funktionsumfangs durch starke Community über den Paket-Manager „Cargo“ und sogenannte „Crates“ (Synonym für „Libraries“, „Packages“)
  • Regelmäßige Updates (6-wöchiger Release-Cycle) mit Focus auf Stabilität

Einsatzgebiete

Rust ist aufgrund seiner Struktur und straffen Paradigmen hinsichtlich Stabilität vor allem für Bereiche wie

  • Development von Server- und Desktop-Programmen im Multi-Prozessor-Milieu
  • Browserentwicklung
  • Spieleentwicklung
  • Projekte im Embedded-Systeme-Umfeld

besonders gut geeignet. Neue mögliche Umgebungen werden durch die stetige Weiterentwicklung individueller „Crates“ und „Module“ innerhalb der Rust-Community permanent erschlossen. Der Paket-Manager „Cargo“ löst bei der Implementierung der Crates elegant alle notwendigen Dependencies auf, die für den Einsatz eines Crates notwendig sind.

Wichtige Quellen zu „Rust“ im Internet

Die wichtigsten Links aus dem Artikel und zusätzliche, hilfreiche Verknüpfungen werden nachfolgend noch einmal gesammelt aufgeführt, um Ihnen einen schnellen Einstieg in die Materie zu ermöglichen:

Fazit

Projekte mit besonderem Focus auf Stabilität und Performanz sind durch den Einsatz von „Rust“ in der Basis bereits gut aufgestellt. Die hier kurz vorgestellte Multiparadigmen-Programmiersprache ist zwar noch recht jung, wird jedoch längst von einer großen Entwickler-Community und führenden Technologiepartnern wie Mozilla und Samsung unterstützt. Mit diesem Background ist der Weg für eine Erfolgsgeschichte der Plattform geebnet und weitere große Projekte auf Rust-Basis sind durchaus zu erwarten. Vielleicht schreiben wir ja in Kürze sogar über Ihr Projekt?!

Sie haben noch keine eigene Entwicklungsplattform?

Mit Hilfe der folgenden Produkte können Sie Ihre eigene Entwicklungsumgebung optimal einrichten:

Virtual Server von Host Europe

Wir wünschen viel Erfolg mit Ihren Development-Projekten und stehen jederzeit gerne für Fragen und Anregungen unter support@hosteurope zur Verfügung.

Hat Ihnen dieser Artikel gefallen? Dann bewerten sie den Artikel gerne oder teilen ihn mit Menschen, denen er ebenfalls von Nutzen sein kann – ganz einfach per Twitter, Facebook oder Google+. Verwenden Sie dafür das Hashtag #hosteuropeblog.

Sind Sie an künftigen Neuigkeiten aus dem Hosting-Bereich interessiert? Dann können Sie die Blogbeiträge bequem per RSS-Feed abonnieren, oder Sie versehen unsere Facebook-Seite ebenfalls mit einem Like.

Die Abo-Funktionalität auf Facebook versorgt Sie zudem jederzeit mit dem aktuellen Blogbeitrag und vielen weiteren Informationen rund um das Hosting im Allgemeinen aber auch zum Thema Host Europe.

Haben Sie spezielle Anregungen oder Änderungsvorschläge? Kommentieren Sie unsere Beiträge, wir freuen uns über Ihren Input!

Thomas von Mengden
Letzte Artikel von Thomas von Mengden (Alle anzeigen)

Große Auswahl an günstigen Domain-Endungen – schon ab 0,08 € /Monat
Jetzt Domain-Check starten