Stabilisierung der Programmiersprache geht weiter

Rust 1.7 stabilisiert Bibliotheksfunktionen und -methoden
Keine Kommentare

Rust 1.7 setzt den mit Rust 1.6 – dessen Hauptfeature in der Stabilisierung der Kern-Bibliothek libcore bestand – gesetzten Kurs fort: Die Rust-Entwickler vermelden, dass ab sofort rund 40 Bibliotheksfunktionen und -methoden als stabil betrachtet werden können.

In früheren Rust-Versionen nutzten alle Hashtabellen in Rust den Hash-Algorithmus SipHash, der zwar standardmäßig Schutz vor DoS-Attacken bietet, im Falle kleiner Schlüssel jedoch vergleichsweise langsam hasht. Für alle Nutzer, die den Verlust des DoS-Schutzes verschmerzen können, steht nun der Hash-Algorithmus Fowler-Noll-Vo (FNV) bereit, der bei derartigen Inputs deutlich besser abschneidet und somit einen beträchtlichen Geschwindigkeitsschub realisierbar machen soll.

Des Weiteren steht mit <[T]>::clone_from_slice() eine neue, Effizienz versprechende Möglichkeit zur Verfügung, um Daten von einem Slice zum anderen zu kopieren. Zudem erhielt das im Rahmen des Foreign-Function-Interface-Mechanismus genutzte CString einige Verbesserungen spendiert.

Auch der Package-Manager Cargo wartet im Zuge von Rust 1.7 mit einem kleineren Update auf. So versorgen etwa die Build-Skripte Cargo künftig mit präzisen Informationen über Abhängigkeiten, wodurch sichergestellt werden soll, dass sie nur dann erneut ausgeführt werden, wenn diese sich ändern.

Sämtliche Änderungen von Rust 1.7 können, im Detail, den offiziellen Release Notes entnommen werden.

Was ist Rust?

Rust ist als Systemsprache konzipiert, die als Konkurrent für C und C++ – aber auch zu Googles Go – gesehen werden kann. Die Syntax ist stark an C angelehnt, enthält aber moderne Konstrukte, um invalide Speicherzugriffe zu verhindern und Multicore-Architekturen besser zu unterstützen.
Zu den Charakteristika der Sprache gehören Pattern Matching und algebraische Datentypen (enums), Typeninferenz, Higher-order Functions (Closures), Generics und Polymorphismus in Form von Java-artigen Interfaces in Kombination mit Haskell-artigen Typen-Klassen (traits).

Unterstützt werden sowohl funktionale als auch objektorientierte Programmierweisen. Nebenläufigkeit wird durch leichtgewichtige Tasks realisiert, wie sie beispielsweise in Erlang oder anderen Aktoren-basierten Sprachen anzutreffen sind. Seit 2011 werden Rust-Programme mit dem selbst in Rust geschriebene Compiler rustc kompiliert, welcher wiederum auf LLVM als Backend-Technologie zurückgreift.

Lesen Sie auch unsere Einführung zu Rust: Wie Rust durch Eliminierung kritischer Funktionen Sicherheit schafft

ML Conference 2019

Workshop: Machine Learning 101++ using Python

mit Dr. Pieter Buteneers (Chatlayer.ai)

Honey Bee Conservation using Deep Learning

mit Thiago da Silva Alves, Jean Metz (JArchitects)

Aufmacherbild: Old and rusty water pipe von Shutterstock / Urheberrecht: Bohbeh

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -