Rust (Programmiersprache)

Rust
Basisdaten
Paradigmen: multiparadigmatisch (generisch, nebenläufig, funktional, imperativ, strukturiert)
Erscheinungsjahr: 2010; erste stabile Version 2015
Designer: Graydon Hoare
Entwickler: Mozilla[1], Graydon Hoare[1][2], Rust-Stiftung[3]
Aktuelle Version 1.80.1[4] (8. August 2024)
Typisierung: stark, statisch, affin,[5] Typinferenz
Beeinflusst von: Alef[6], C++[6], C#[6], Cyclone[6], Erlang[6], Haskell[6], Limbo[6], Newsqueak[6], Objective CAML[6], Ruby[6], Scheme[6], Standard ML[6], Swift[6]
Betriebssystem: Linux, macOS, Windows, FreeBSD, Android, iOS[7] und weitere[8][9]
Lizenz: Apache-Lizenz, Version 2.0[10][11], MIT-Lizenz[10][11]
www.rust-lang.org

Rust ist eine Multiparadigmen-Systemprogrammiersprache, die von der Open-Source-Community entwickelt wird und unter anderem von Mozilla Research gesponsert ist.[12] Sie wird mit dem Ziel entwickelt, sicher, nebenläufig und praxisnah zu sein.[13] Sicherheit bezieht sich dabei insbesondere auf die Vermeidung von Programmfehlern, die zu Speicherzugriffsfehlern oder Pufferüberläufen und damit unter Umständen auch zu Sicherheitslücken führen, vor allem auch in nebenläufigen Prozessen. Im Gegensatz zu anderen Programmiersprachen mit automatischer Speicherverwaltung verwendet Rust hierfür keine Garbage Collection, sondern ein besonderes Typsystem. Dessen Typsicherheit wurde formal bewiesen.[14]

Rust vereint Ansätze aus verschiedenen Programmierparadigmen, unter anderem aus der funktionalen, der objektorientierten und der nebenläufigen Programmierung und erlaubt so ein hohes Abstraktionsniveau. Beispielsweise gibt es in Rust algebraische Datentypen, Pattern Matching, Traits (ähnlich den Typklassen in Haskell), Closures sowie Unterstützung für RAII. Die Sprache wurde so entworfen, dass die Kosten der Abstraktionen zur Laufzeit so gering wie möglich bleiben können (zero-cost abstractions), um eine mit C++ vergleichbare Performanz zu erreichen.[15]

  1. a b prev.rust-lang.org. (abgerufen am 24. Februar 2019).
  2. jaxenter.com. (abgerufen am 31. Januar 2018).
  3. foundation.rust-lang.org.
  4. Announcing Rust 1.80.1. 8. August 2024 (englisch, abgerufen am 8. August 2024).
  5. Alexis Beingessner: The Pain Of Real Linear Types in Rust. In Beingessners Blog, 8. Mai 2017, abgerufen am 10. Oktober 2019.
  6. a b c d e f g h i j k l m In: Influences - The Rust Reference.
  7. Doc building for ios. In: GitHub. Abgerufen am 4. Januar 2015. Vorlage:Cite web: Der Parameter language wurde bei wahrscheinlich fremdsprachiger Quelle nicht angegeben.
  8. Rust Platform Support. In: Rust Forge. Abgerufen am 3. Juni 2019 (englisch).
  9. Frequently Asked Questions. In: Rust Embedded. Abgerufen am 3. Juni 2019 (englisch).
  10. a b In: GitHub.
  11. a b github.com.
  12. Rust. Mozilla Research, abgerufen am 3. Mai 2019. Vorlage:Cite web: Der Parameter language wurde bei wahrscheinlich fremdsprachiger Quelle nicht angegeben.
  13. The Rust Programming Language. Abgerufen am 21. Oktober 2012. Vorlage:Cite web: Der Parameter language wurde bei wahrscheinlich fremdsprachiger Quelle nicht angegeben.
  14. Ralf Jung: Understanding and Evolving the Rust Programming Language. Abgerufen am 15. Juli 2021.
  15. The Rust Project Developers: The Rust Language FAQ: How fast is Rust? Abgerufen am 27. Juni 2021 (englisch).

© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search