Rust

Rust
编程范型編譯語言並行计算
函数式指令式
物件導向结构化
設計者Graydon Hoare
實作者Mozilla
发行时间2010年
当前版本
  • 1.80.0 (2024年7月25日;穩定版本)[1]
編輯維基數據鏈接
型態系統靜態類型強型別
類型推論結構類型英语Structural type system
操作系统LinuxmacOSWindows
FreeBSDAndroidiOS[2]
許可證Apache许可证2.0及MIT許可證[3]
文件扩展名.rs、.rlib
網站rust-lang.org
啟發語言
Alef英语Alef (programming language)[4]C#[4]C++[4]Cyclone英语Cyclone (programming language)[4][5]
Erlang[4]Haskell[4]Hermes英语Hermes (programming language)[4]Limbo[4]
Newsqueak[4]NIL英语NIL (programming language)[4]OCaml[4]Ruby[4]
Scheme[4]Standard ML[4]Swift[4][6]
影響語言
C# 7[7]Elm[8]Idris[9]Swift[10]Carbon

Rust是由Mozilla[11]主导开发的通用编译型编程语言。设计准则为“安全、并发、实用”[12][13],支持函数式並行式过程式以及面向对象的程式設計风格。

Rust語言原本是Mozilla員工Graydon Hoare的個人專案,而Mozilla於2009年開始贊助這個專案 [14],並且在2010年首次公開[15]。也在同一年,其編譯器原始碼開始由原本的OCaml語言轉移到用Rust語言,進行自我編譯工作,稱做「rustc」[16],並於2011年實際完成[17]。這個可自我編譯的編譯器在架構上採用了LLVM做為它的後端。

第一個有版本號的Rust編譯器於2012年1月釋出[18]。Rust 1.0是第一個穩定版本,於2015年5月15日釋出[19]

Rust在完全公開的情況下開發,並且相當歡迎社区的回饋。在1.0穩定版之前,語言設計也因為透過撰寫Servo網頁瀏覽器排版引擎和rustc編譯器本身,而有進一步的改善。它雖然由Mozilla資助,但其實是一個共有專案,有很大部分的程式碼是來自於社区的貢獻者[20]

  1. ^ Announcing Rust 1.80.0. 2024年7月25日 [2024年7月25日] (英語). 
  2. ^ Rust Platform Support. [2017-03-17]. (原始内容存档于2018-02-13). 
  3. ^ COPYRIGHT. Rust compiler source repository. [2012-12-17]. 
  4. ^ 4.00 4.01 4.02 4.03 4.04 4.05 4.06 4.07 4.08 4.09 4.10 4.11 4.12 4.13 4.14 The Rust Reference: Appendix: Influences. [2015-03-25]. (原始内容存档于2015-03-26). Rust is not a particularly original language, with design elements coming from a wide range of sources. Some of these are listed below (including elements that have since been removed): SML, OCaml [...] C++ [...] ML Kit, Cyclone [...] Haskell [...] Newsqueak, Alef, Limbo [...] Erlang [...] Swift [...] Scheme [...] C# [...] Ruby [...] NIL, Hermes 
  5. ^ Note Research: Type System. 2015-02-01 [2015-03-25]. (原始内容存档于2019-02-17). Papers that have had more or less influence on Rust, or which one might want to consult for inspiration or to understand Rust's background. [...] Region based memory management in Cyclone [...] Safe memory management in Cyclone 
  6. ^ RFC for `if let` expression. [2014-12-04]. (原始内容存档于2016-03-04). The `if let` construct is based on the precedent set by Swift, which introduced its own `if let` statement. 
  7. ^ Discussion - Patterns and Records. 2015-03-25 [2015-03-25]. (原始内容存档于2015-08-19). Sources of Inspiration: [...] Rust 
  8. ^ Command Optimizations?. 2014-06-26 [2014-12-10]. (原始内容存档于2019-07-08). I just added the outline of a Result library that lets you use richer error messages. It's like Either except the names are more helpful. The names are inspired by Rust's Result library. 
  9. ^ Uniqueness Types. 2014-08-22 [2014-10-27]. (原始内容存档于2014-12-25). They are inspired by linear types, Uniqueness Types in the Clean programming language, and ownership types and borrowed pointers in the Rust programming language. 
  10. ^ Lattner, Chris. Chris Lattner's Homepage. Chris Lattner. 2014-06-03 [2014-06-03]. (原始内容存档于2018-12-25). The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list. 
  11. ^ Noel. The Rust Language. Lambda the Ultimate. 2010-07-08 [2010-10-30]. (原始内容存档于2015-11-18). 
  12. ^ The Rust Programming Language. [2012-10-21]. (原始内容存档于2016-06-18). 
  13. ^ Doc language FAQ. [2012-10-21]. (原始内容存档于2020-07-20). 
  14. ^ Project FAQ. 2010-09-14 [2012-01-11]. (原始内容存档于2020-07-20). 
  15. ^ Future Tense. 2011-04-29 [2012-02-06]. (原始内容存档于2012-09-18). At Mozilla Summit 2010, we launched Rust, a new programming language motivated by safety and concurrency for parallel hardware, the “manycore” future which is upon us. 
  16. ^ Hoare, Graydon. Rust Progress. 2010-10-02 [2010-10-30]. (原始内容存档于2014-08-15). 
  17. ^ Hoare, Graydon. [rust-dev] stage1/rustc builds. 2011-04-20 [2011-04-20]. (原始内容存档于2011-07-20). After that last change fixing the logging scope context bug, looks like stage1/rustc builds. Just shy of midnight :) 
  18. ^ catamorphism. Mozilla and the Rust community release Rust 0.1 (a strongly-typed systems programming language with a focus on memory safety and concurrency). 2012-01-20 [2012-02-06]. (原始内容存档于2012-01-24). 
  19. ^ rust/RELEASES.md at master · rust-lang/rust · GitHub. GitHub. [2015-07-26]. (原始内容存档于2015-05-15). 
  20. ^ Rust Contributors. [2015-05-17]. (原始内容存档于2020-05-26). 

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