作者|张汉东
文前Rust语言是一门通用系统级编程语言,无GC且能保证内存安全、并发安全和高性能而著称。自年开始由GraydonHoare私人研发,年得到Mozilla赞助,年首次发布0.1.0版本,用于Servo引擎的研发,于年5月15号发布1.0版本。
自发布以来,截止到年的今天,经历六年的发展,Rust得到稳步上升,已逐渐趋于成熟稳定。
至年开始,截止到年,Rust连续五年成为StackOverflow语言榜上最受欢迎的语言。
年2月9号,Rust基金会宣布成立。华为、AWS、Google、微软、Mozilla、Facebook等科技行业领*巨头加入Rust基金会,成为白金成员,以致力于在全球范围内推广和发展Rust语言。
那Rust语言到底有何魅力,能让广大开发者和巨头公司这么感兴趣呢?
本文打算从Rust语言自身特性和Rust行业应用盘点两个方面的社区调研来尝试来解答这个问题。供想选择Rust的公司参考。
其实Rust生态还有很多内容,等待大家挖掘。本文内容还未覆盖完全Rust生态的方方面面。
注明:本文中所罗列数据均来源互联网公开内容。
认识Rust语言编程语言设计在两个看似不可调和的愿望之间长期存在着矛盾对立。
安全(safe)。我们想要强类型系统来静态地排除大量错误。我们要自动内存管理。我们想要数据封装,这样我们就可以对私有变量执行不变的对象的表示形式,并确保它们将不会被不受信任的代码破坏。
控制(control)。至少对于Web浏览器,操作系统,或游戏引擎这样的系统编程(systemprogramming)程序,约束它们性能或资源是一个重要的问题,我们想了解数据的字节级表示。我们想要用底层语言(low-levelprogramming)的编程技术优化我们程序的时间和空间的使用。我们希望在需要时使用裸机。
然而,按照传统的看法,鱼和熊掌不能兼得。Java之类的语言使我们极大的安全保证,但代价是牺牲对底层的控制。结果,对于许多系统编程应用程序,唯一现实的选择是使用一种像C或C++提供细粒度的语言控制资源管理。但是,获得这种控制需要很高的成本。例如,微软最近报告说,他们修复的70%安全漏洞都归因于内存安全违规行为33,并且都是能被强类型系统排除的问题。同样,Mozilla报告指出,绝大多数关键他们在Firefox中发现的错误是内存有关的16。
如果可以以某种方式两全其美:安全系统编程的同时对底层有控制权,岂不美哉。因此,Rust语言应运而生。
官方网如此介绍Rust:一门赋予每个人构建可靠且高效软件能力的语言。
Rust语言有三大优势值得大家