Rust (programming language)

Rust
Rust logo; a capital letter R set into a sprocket
Paradigms
Designed byGraydon Hoare
DeveloperThe Rust Team
First appearedMay 15, 2015; 9 years ago (2015-05-15)
Stable release
1.82.0[1] Edit this on Wikidata / October 17, 2024; 31 days ago (October 17, 2024)
Typing discipline
Implementation languageOCaml (2006–2011)
Rust (2012–present)
PlatformCross-platform[note 1]
OSCross-platform[note 2]
LicenseMIT, Apache 2.0[note 3]
Filename extensions.rs, .rlib
Websitewww.rust-lang.org
Influenced by
Influenced

Rust is a general-purpose programming language emphasizing performance, type safety, and concurrency. It enforces memory safety, meaning that all references point to valid memory. It does so without a traditional garbage collector; instead, both memory safety errors and data races are prevented by the "borrow checker", which tracks the object lifetime of references at compile time.

Rust does not enforce a programming paradigm, but was influenced by ideas from functional programming, including immutability, higher-order functions, algebraic data types, and pattern matching. It also supports object-oriented programming via structs, enums, traits, and methods. It is popular for systems programming.[13][14][15]

Software developer Graydon Hoare created Rust as a personal project while working at Mozilla Research in 2006. Mozilla officially sponsored the project in 2009. In the years following the first stable release in May 2015, Rust was adopted by companies including Amazon, Discord, Dropbox, Google (Alphabet), Meta, and Microsoft. In December 2022, it became the first language other than C and assembly to be supported in the development of the Linux kernel.

Rust has been noted for its rapid adoption, and has been studied in programming language theory research.

  1. ^ "Announcing Rust 1.82.0". 2024-10-17. Retrieved 2024-10-17.
  2. ^ a b "Platform Support". The rustc book. Retrieved 2022-06-27.
  3. ^ "The Rust Programming Language". The Rust Programming Language. 2022-10-19.
  4. ^ "Uniqueness Types". Rust Blog. Retrieved 2016-10-08. Those of you familiar with the Elm style may recognize that the updated --explain messages draw heavy inspiration from the Elm approach.
  5. ^ Cite error: The named reference influences was invoked but never defined (see the help page).
  6. ^ "Uniqueness Types". Idris 1.3.3 documentation. Retrieved 2022-07-14. They are inspired by ... ownership types and borrowed pointers in the Rust programming language.
  7. ^ Cite error: The named reference Project Verona was invoked but never defined (see the help page).
  8. ^ Cite error: The named reference Jaloyan was invoked but never defined (see the help page).
  9. ^ Cite error: The named reference Lattner was invoked but never defined (see the help page).
  10. ^ "V documentation (Introduction)". GitHub. Retrieved 2023-11-04.
  11. ^ Yegulalp, Serdar (2016-08-29). "New challenger joins Rust to topple C language". InfoWorld. Retrieved 2022-10-19.
  12. ^ Eshwarla, Prabhu (2020-12-24). Practical System Programming for Rust Developers: Build fast and secure software for Linux/Unix systems with the help of practical examples. Packt Publishing Ltd. ISBN 978-1-80056-201-1.
  13. ^ Blanco-Cuaresma, Sergi; Bolmont, Emeline (2017-05-30). "What can the programming language Rust do for astrophysics?". Proceedings of the International Astronomical Union. 12 (S325): 341–344. arXiv:1702.02951. Bibcode:2017IAUS..325..341B. doi:10.1017/S1743921316013168. ISSN 1743-9213. S2CID 7857871.
  14. ^ Blandy, Orendorff & Tindall 2021.


Cite error: There are <ref group=note> tags on this page, but the references will not show without a {{reflist|group=note}} template (see the help page).