Why Rust?

Rust历史

Rust最初是由Mozilla员工Graydon Hoare设计、开发的个人项目。Mozilla在2009年开始赞助该项目并于2010年宣布。但第一个稳定版本,Rust 1.0于2015年5月15日发布。

初始目标

Rust的目标是成为创建高并发和高安全的系统的优秀语言。此外,Rust旨在同时提供速度和安全。

“Rust是一门系统编程语言,专注于三个目标:安全,速度和并发”。——Rust文档

Rust是非常年轻和非常现代化的语言。它是一种编译型编程语言,使用LLVM作为后端。并且Rust是多范式编程语言,它支持命令式过程,并发actor,面向对象和纯函数式风格。它还支持静态和动态风格的泛型编程和元编程(ML)。

🔎 Rust最独特和引人注目的特性之一是所有权(Ownership),用于实现内存安全。Rust会乐观地创建内存指针,在编译时使用引用(reference)和借用(borowing)来检查内存指针的有限访问。它通过检查生命周期(lifetime)来自动编译时内存管理。

影响

Rust的设计元素受到众多编程语言启发。

  • 抽象机器模型:C
  • 数据类型:CSMLOCamlLispLimbo
  • 可选绑定:Swift
  • Hygienic宏:Scheme
  • 函数式编程:HaskellOCamlF#
  • 属性:ECMA-335
  • 内存模型和内存管理:C++ML KitCyclone
  • Type Classses:Haskell
  • Crate:在ECMA-335 CLI模型中的汇编
  • 通道和并发:NewsqueakAlefLimbo
  • 消息传递和线程故障:Erlang

等等

Rust默认情况下不使用自动垃圾回收系统(GC)。

Rust编译器在编译时观察代码,有助于防止用诸如C/C++语言编写时可能的很多类型错误。