当前位置: 首页 > 文档资料 > RustPrimer 中文版 >

初识Rust

优质
小牛编辑
134浏览
2023-12-01

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 编程愉快!