Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Entwicklung & Design

Rust 1.0: Diese Programmiersprache will alle glücklich machen

Rust erscheint in Version 1.0 (Foto: © Fotmen - iStock.com)

Die Programmiersprache Rust verspricht das, was jeder will: Sicherheit und Schnelligkeit. Jetzt ist die Version 1.0 verfügbar und bietet erstmals eine stabile Syntax.

Rust in Version 1.0 veröffetnlicht

rust
Rust: Version 1.0 liefert stabile Syntax. (Bild: rust-lang.com)

Der Entwickler Graydon Hoare hat Rust als Privatprojekt gestartet, das dann relativ schnell von Mozilla übernommen wurde. 2011 konnte sich der Rust-Compiler bereits selbst kompilieren. Die unter der Führung von Mozilla entwickelte Sprache soll Konzepte von bereits etablierten Sprachen verbinden. Dabei soll Rust vor allem sicher sein und Speicherfehler – wie sie zum Beispiel bei C und C++ üblich sind – vermeiden ohne die Performance zu verschlechtern.

„Rust is a systems programming language that runs blazingly fast, prevents nearly all segfaults, and guarantees thread safety.

Mit der jetzt veröffentlichten Version liefert Rust die fertige Definition der Sprache und die Fertigstellung der Syntax. Dank LLVM-Compilerframework ist die Sprache bereits auf vielen Systemen einsatzbereit.

Rust: High- und Lowlevel in einer Sprache

Die Trennung zwischen Highlevel-Sprachen, bei denen sich die Entwickler nicht um die Speicherverwaltung kümmern müssen, und Lowlevel-Sprachen, die keine automatische Speicherverwaltung besitzen, verschwimmt mit Rust. Bereits bei der Kompilierung versucht Rust Fehler zu entdecken – fehlerhafter beziehungsweise unsicherer Code kann erst gar nicht kompiliert werden. Damit soll Rust für Anfänger leichter zugänglich gemacht werden; für erfahrene Lowlevel-Entwickler wird der Code sicherer.

// This code is editable and runnable!
fn main() {
    // A simple integer calculator:
    // `+` or `-` means add or subtract by 1
    // `*` or `/` means multiply or divide by 2

    let program = „+ + * - /„;
    let mut accumulator = 0;

    for token in program.chars() {
        match token {
            ‚+‘ => accumulator += 1,
            ‚-‚ => accumulator -= 1,
            ‚*‘ => accumulator *= 2,
            ‚/‚ => accumulator /= 2,
            _ => { /* ignore everything else */ }
        }
    }

    println!(„The program \“{}\“ calculates the value {}“,
              program, accumulator);
}

Fazit: Rust

Gerade Mozilla hat ein Interesse an der Weiterentwicklung von Rust, denn Firefox hat häufig Sicherheitslücken die mit der Speicherverwaltung von C++ zusammenhängen.

Ihr findet die Dokumentation von Rust hier, und auf der offiziellen Website.

Wie findet ihr den Ansatz von Rust?

Bitte beachte unsere Community-Richtlinien

14 Reaktionen
Martin

Fuer viele Entwickler wird Rust erst einmal riesiges Kopfzerbrechen hervorrufen, weil die Mehrheit es gewohnt ist mit Garbage Collected Languages zu arbeiten und Rust mit dem Ownership Model einen neuen Ansatz faehrt.
Rust wird immer extrem komplex bleiben und schwer zu erlernen sein. Nicht jeder wird sich ~eine Woche Zeit nehmen zum Lernen einer neuen Sprache.

Eine alternative waere Go ;-)

Antworten
irgendeinem Spinner

Nein wäre es nicht, Go ist für Low-Level-Aufgaben nicht geeignet. Wenn du das nicht brauchst ist Go ok, aber vom Sprachdesign leider bei weitem nicht so durchdacht wie Rust.

Antworten
Martin

Komplexitaet kann jeder hinzufuegen aber es bedarf eines Genies es einfach zu halten.

Frank Ockenfuss

Dieser Artikel ist ziemlich lieblos geschrieben.

Bitte den Rechtschreibfehler korrigieren (veröffetnlicht).

Des Weiteren ist es ziemlich uninteressant, seit wann sich der Compiler selbst kompilieren konnte. Interessanter wäre vielleicht, unter welchen Betriebssystemen der Compiler läuft und die Sprachspezifika und Besonderheiten zu beschreiben.

Das Programm ist leider auch ziemlich sinnfrei.

Antworten
Escobar

Was haben die Kommata und Hochkommata da im Quelltext zu suchen? Sieht ja furchtbar aus.

>Gerade Mozilla hat ein Interesse an der Weiterentwicklung von Rust, denn Firefox hat häufig Sicherheitslücken die mit der Speicherverwaltung von C++ zusammenhängen.

lol. Vielleicht mal nach ein paar vernünftigen C/C++-Entwicklern suchen, dann gibt es so ein Problem nicht.

Antworten
Chris

Ey ganz ehrlich: Dieser Code sieht katastrophal aus! Messy, schwer lesbar, unsinnige und sauhässliche Hochkomma der übelsten Sorte, und Demo-Code bei dem jedes 1995er BASIC-Beispiel besser bei weg kommt. Ich glaub daß sich da jemand einen Scherz erlaubt hat, mit Programmierung hat das nämlich nix zu tun!

Antworten
N. Ame

Die Sicherheitslücken im FF hängen nicht mit der Speicherverwaltung von C++ zusammen, sondern damit, dass die Entwickler sie fehlerhaft verwenden.

Antworten
irgendeinem Spinner

Zum Glück kennst du sie alle und hättest keinen der Fehler selbst gemacht. Was hat das noch gleich mit Rust zu tun?

Antworten
Thomas D.

Bin auch total glücklich - wieder was, was ich nicht lernen muss. Woher kommt dieser Drang, dauernd das Rad neu erfinden zu wollen?

Antworten
irgendeinem Spinner

Das dachte ich auch zuerst, aber mit Rust haben sie einfach alles richtig gemacht. Die Sprache ist von vorne bis hinten durchdacht, legt viel Augenmerk auf Sicherheit und lässt sich doch sehr leicht lernen bzw. sehr angenehm verwenden. Nebenläufigkeit ist in Rust ein Kinderspiel, so sollte es in modernen Sprachen sein.

Antworten
Kai

Werden da im Ernst die Zeichen „ “ ‚ ‘ für Strings verwendet oder kommt das jetzt vom Autor hier?

Antworten
Holger

Das scheint vom Autor zu sein. In den verlinkten Beispielen ist es ganz "normal" angegeben: http://www.rust-lang.org/

Antworten
Markus Köhler

Definitiv eine Evaluierung wert, aber natürlich erst einsetzbar wenn auch große Service-Provider die Sprache unterstützen....

Antworten
irgendeinem Spinner

Da purzelt am Ende ein Binary heraus, also diese Sprache wird nie von Providern unterstützt werden, genausowenig wie C, C++ und die gefühlt 1000 anderen Sprachen die kompiliert werden.

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.