Rust 是一门系统级编程语言,被设计为保证内存和线程安全,并防止段错误。作为系统级编程语言,它的基本理念是 “零开销抽象”。理论上来说,它的速度与 C / C++ 同级。

    Rust 可以被归为通用的、多范式、编译型的编程语言,类似 C 或者 C++。与这两门编程语言不同的是,Rust 是线程安全的!

    Rust 编程语言的目标是,创建一个高度安全和并发的软件系统。它强调安全性、并发和内存控制。尽管 Rust 借用了 C 和 C++ 的语法,它不允许空指针和悬挂指针,二者是 C 和 C++ 中系统崩溃、内存泄露和不安全代码的根源。

    Rust 中有诸如 if else 和循环语句 for 和 while 的通用控制结构。和 C 和 C++ 风格的编程语言一样,代码段放在花括号中。

    Rust 使用实现(implementation)、特征(trait)和结构化类型(structured type)而不是类(class)。这点,与基于继承的OO语言 C++, Java 有相当大的差异。而跟 Ocaml, Haskell 这类函数式语言更加接近。

    Rust 做到了内存安全而无需 .NET 和 Java 编程语言中实现自动垃圾收集器的开销,这是通过所有权/借用机制、生命周期、以及类型系统来达到的。

    下面是一个代码片段的例子,经典的 Hello World 应用:

    1. fn main() {
    2. println!("hello, world");
    3. }

    影响了 Rust 的流行的编程语言包括 C, C++, C#, Erlang, Haskell, OCaml, Ruby, Scheme 和 Swift 等等。Rust 也影响了 C# 7, Elm, Idris, Swift。

    Rust 提供了安装程序,你只需要从官网下载并在相应的操作系统上运行安装程序。安装程序支持 Windows、Mac 和 Linux(通过脚本)上的32位和64位 CPU 体系架构,适用 Apache License 2.0 或者 MIT Licenses。

    Rust 运行在以下操作系统上:Linux, OS X, Windows, FreeBSD, Android, iOS。

    简单提一下 Rust 的历史。Rust 最早是 Mozilla 雇员 Graydon Hoare 的一个个人项目,从 2009 年开始,得到了 Mozilla 研究院的支助,2010 年项目对外公布。2010 ~2011 年间实现的自举。从此以后,Rust 经历了巨大的设计变化和反复(历程极其艰辛),终于在 2015 年 5 月 15日发布了 1.0 版。在这个研发过程中,Rust 建立了一个强大活跃的社区,形成了一整套完善稳定的项目贡献机制(这是真正的可怕之处)。Rust 现在由 Rust 项目开发者社区(https://github.com/rust-lang/rust )维护。

    自 15 年 5 月 1.0 发布以来,涌现了大量优秀的项目(可以 github 上搜索 Rust 查找),大公司也逐渐积极参与 Rust 的应用开发,以及回馈开源社区。

    本书(RustPrimer)旨在为中文 Rustaceans 初学者提供一个正确、最新、易懂的中文教程。本书会一直完善跟进,永不停歇。

    本书是整个 Rust 中文社区共同努力的结果。其中,参与本书书写及校订的 Rustacean 有(排名不分先后):

    • daogangtang(Mike猫)
    • wayslog(猫猫反抗团团长)
    • marvin-min
    • tiansiyuan
    • marvinguo
    • ee0703
    • fuyingfuying
    • qdao
    • JohnSmithX
    • stormgbs (AX)
    • tennix
    • anzhihun
    • zonyitoo(Elton, e猫)
    • 42
    • Naupio(N猫)
    • F001(失落的神喵)
    • wangyu190810
    • domty
    • MarisaKirisame(帅气可爱魔理沙)
    • Liqueur Librazy
    • Knight42
    • Ryan Kung
    • lambdaplus
    • doomsplayer
    • lucklove
    • veekxt
    • lk-chen
    • RyanKung
    • arrowrowe
    • marvin-min
    • ghKelo
    • wy193777
    • domty
    • xusss
    • wangyu190810
    • nextzhou
    • zhongke
    • ryuki
    • codeworm96
    • anzhihun
    • lidashuang
    • sceext2
    • loggerhead
    • twq0076262
    • passchaos
    • yyrust
    • markgeek
    • ts25504
    • overvenus
    • Akagi201
    • theJian
    • jqs7
    • ahjdzx
    • chareice
    • chenshaobo
    • marvinguo
    • izgzhen
    • ziqin
    • peng1999

    等。在此,向他们的辛苦工作和无私奉献表示尊敬和感谢!

    祝用 Rust 编程愉快!