作者 | Mike Tang
责编 | Aholiab
出品 | 区块链大本营(blockchain_camp)
4年前的今天(2015年5月15日),Rust编程语言核心团队正式宣布发布Rust 1.0版本。
4年来,它优雅的解决高并发和高安全性系统问题的能力,受到了越来越多开发者的喜爱。并且连续4年,在Stack Overflow开发者「最受喜爱编程语言」评选中获得第一名。
近来,越来越多的著名区块链项目已经选择使用Rust作为其开发语言,包括:Parity、Polkadot、Substrate、Grin、Ethereum经典、Holochain、Cardano-Rust、Exonum、Lighthouse、Nimiq、Nervos、Conflux-Rust、Codechain、Witnet等众多知名度较高的项目。
本文试图探讨这一种趋势出现背后的原因。并且系统的讲解Rust语言对于区块链开发的影响和其优势。
Rust:一个安全和并发的软件系统
Rust 是一门系统级编程语言,被设计为保证内存和线程安全,防止段错误产生。
作为系统级编程语言,它的基本理念是 “零开销抽象”。理论上来说,它的速度与 C / C++ 同级。Rust 可以被归为通用的、多范式、编译型的编程语言,类似 C/C++。
与这两门编程语言不同的是,Rust 是线程安全的!它的目标是,创建一个安全和并发的软件系统。Rust强调安全性、并发和内存控制。尽管 Rust 借用了 C/C++ 的语法,却杜绝了空指针和悬挂指针,而这二者是 C/C++ 中系统崩溃、内存泄露和不安全代码的根源。
虽然 Rust 是一门系统级编程语言,但并不意味着它只能写底层程序(操作系统、驱动、工具、数据库、搜索引擎等),它的抽象层次之高完全给人惊艳的感觉,实践证明它对问题建模的能力和方便性不比 C++/Java/Python/Ruby 差。
但 Haskell 这类超高抽象语言,也不是 Rust 的发展方向。Rust 力求在抽象与现实世界中找到一个平衡。
目前,Rust 已经在 StackOverflow 的年度语言评选中,连续 4 年荣获“程序员最喜爱语言”第一名。
Rust语言的历史
Rust 最早是 Mozilla 雇员 Graydon Hoare 的一个个人项目,从 2009 年开始,得到了 Mozilla 研究院的支助,2010 年项目对外公布。
2010 ~2011 年间实现的自举。从此以后,Rust 经历了巨大的设计变化和反复(历程极其艰辛),终于在 2015 年 5 月 15日发布了 1.0 版。
在这个研发过程中,Rust 建立了一个强大活跃的社区,形成了一整套完善稳定的项目贡献机制(这是真正的可怕之处)。Rust 现在由 Rust 项目开发者社区维护。
下图描述了Rust的基因图谱: