< 返回版块

2019-03-20 18:21    责任编辑:Mike

标签:rust,what

Rust 是什么?

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 编程语言中实现自动垃圾收集器的开销,这是通过所有权/借用机制、生命周期、以及类型系统来达到的。

虽然 Rust 是一门系统级编程语言,但并不意味着它只能写底层程序(操作系统、驱动、工具、数据库、搜索引擎等),它的抽象层次之高完全给人惊艳的感觉,实践证明它对问题建模的能力和方便性不比 C++/Java/Python/Ruby 差。但 Haskell 这类超高抽象语言,也不是 Rust 的发展方向。Rust 力求在抽象与现实世界中找到一个平衡。

目前,Rust 已经在 StackOverflow 的年度语言评选中,连续 3 年荣获“程序员最喜爱语言”第一名(2016, 2017, 2018)。已经证明了它的实力。

从其它语言转向 Rust 语言学习的程序员,开始的时候可能会感觉相当多的不适应。认为 Rust 把很多细节搞得很复杂,或者是语法不够漂亮(主要体现在所有权、借用检查、生命周期等方面)。其实这是一个逃离舒适区的过程,Rust 引入的“不方便性”正是它所达到的安全和高性能的基石。

Rust 出现的意义在于,它将逐渐重塑整个 IT 工业的基础(并不是说完全重写),它所带来的安全理念,将促使人们全面审视我们目前的 IT 工业的基石,并通过各种方式来改进它、修复它、使其更安全。它保证我们迈向未来的征程脚底踏实,充满信心。

Rust 的历史