Stabile APIs, Funktionen und Methoden

Rust 1.6 mit stabiler Kern-Bibliothek

Michael Thomas

© Shutterstock.com/Darasp Kran

Die Multiparadigmensprache Rust steht in Version 1.6 bereit. Im Zentrum der rund 1100 Änderungen des Releases steht die Stabilisierung der Kern-Bibliothek libcore.

Rusts Standardbibliothek ist zweigeteilt: Auf der einen Seite steht die abhängigkeitsfreie, Plattform-agnostische Kern-Bibliothek libcore, auf der anderen die auf libcore aufbauende Standardbibliothek libstd, die erweiterte Features wie den Support von Speicherallokation, Ein-/Ausgabe und Nebenläufigkeit bietet.

Das Hauptfeature von Rust 1.6 besteht in der Stabilisierung von libcore und dem Großteil der zugehörigen APIs, was die Entwickler als großen Schritt in Richtung besserer Low-Level-Programmierung sowie der Entwicklung eines Bibliotheks-Ökosystems rund um libcore betrachten. Des Weiteren gelten auch rund 30 Bibliotheks-Funktionen und -Methoden als stabil; andere wurden erweitert, überarbeitet oder gelten als überholt. Letzteres trifft beispielsweise auf mehrere Timer-Funktionen (darunter Condvar::wait_timeout_ms, thread::sleep_ms, und thread_park_timeout_ms) zu, die in Rust 1.6 zugunsten von Duration zurückstecken mussten.

Die Release-Notes auf GitHub bieten eine detaillierte Übersicht über sämtliche Änderungen der aktuellen Version.

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.

Aufmacherbild: Rusted galvanized iron plate von Shutterstock / Urheberrecht: Darasp Kran

Verwandte Themen:

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: