Rust (programming language)

Rust
Rust logo; a capital letter R set into a sprocket
Paradigms
DeveloperRust Foundation
First appearedMay 15, 2015 (2015-05-15)
Stable release
1.77.1[1] Edit this on Wikidata / March 28, 2024 (March 28, 2024)
Typing discipline
Implementation languageRust
PlatformCross-platform[note 1]
OSCross-platform[note 2]
LicenseMIT and Apache 2.0[note 3]
Filename extensions.rs, .rlib
Websitewww.rust-lang.org
Influenced by
Influenced

Rust is a multi-paradigm, general-purpose programming language that emphasizes performance, type safety, and concurrency. It enforces memory safety—meaning that all references point to valid memory—without a garbage collector. To simultaneously enforce memory safety and prevent data races, its "borrow checker" tracks the object lifetime of all references in a program during compilation. Rust was influenced by ideas from functional programming, including immutability, higher-order functions, and algebraic data types. 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,[16] and has been studied in programming language theory research.[17][18][19]

  1. ^ "Announcing Rust 1.77.1". 2024-03-28. Retrieved 2024-03-28.
  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. ^ a b c d e f g h i j k l m Cite error: The named reference influences was invoked but never defined (see the help page).
  5. ^ "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.
  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. ^ Blandy, Jim; Orendorff, Jason (2017-11-21). Programming Rust: Fast, Safe Systems Development. O'Reilly Media, Inc. ISBN 978-1-4919-2725-0.
  14. ^ 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.
  15. ^ Perkel, Jeffrey M. (2020-12-01). "Why scientists are turning to Rust". Nature. 588 (7836): 185–186. Bibcode:2020Natur.588..185P. doi:10.1038/d41586-020-03382-2. PMID 33262490. S2CID 227251258. Archived from the original on 2022-05-06. Retrieved 2022-05-15.
  16. ^ "Computer Scientist proves safety claims of the programming language Rust". EurekAlert!. Archived from the original on 2022-02-24. Retrieved 2022-05-15.
  17. ^ Jung, Ralf; Jourdan, Jacques-Henri; Krebbers, Robbert; Dreyer, Derek (2017-12-27). "RustBelt: securing the foundations of the Rust programming language". Proceedings of the ACM on Programming Languages. 2 (POPL): 66:1–66:34. doi:10.1145/3158154. hdl:21.11116/0000-0003-34C6-3. S2CID 215791659. Archived from the original on 2022-06-11. Retrieved 2022-05-15.
  18. ^ Jung, Ralf (2020). Understanding and evolving the Rust programming language (PhD thesis). Saarland University. doi:10.22028/D291-31946. Archived from the original on 2022-03-08. Retrieved 2022-05-15.


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).