基础永远值得花费90%的精力去学习加强。认识实践的重要性。
Ax Rust Introduction
Rust是一种多范式、通用的编程语言。Rust 强调性能、类型安全和并发性。软件开发人员 Graydon Hoare 于 2006 年在Mozilla Research工作时设计了 Rust 。 Mozilla 于 2009 年正式赞助了该项目,自 2014 年 1 月发布第一个稳定版本以来,Rust 已应用于亚马逊、Discord、Dropbox、Facebook ( Meta )、谷歌( Alphabet ) 和微软。
Rust 源于Mozilla员工 Graydon Hoare 于 2006 年开始的个人项目。Mozilla 于 2009 年开始赞助该项目,并于 2010 年正式宣布该项目。
编译器的第一个编号的 pre-alpha 版本,Rust 0.1,于 2012 年 1 月发布。
Rust 的类型系统在 Rust 0.2、0.3 和 0.4 版本之间发生了很大变化。0.2 版首次引入了类和 0.3 版通过使用接口添加了析构函数和多态性。在 Rust 0.4 中,添加了特征作为一种手段provide 继承;接口与特征统一,并作为单独的功能被删除。类也被删除并被实现和结构化类型的组合所取代。除了传统的静态类型,在 0.4 版本之前,Rust 还支持通过契约进行类型状态分析。它在 0.4 版中被删除,尽管可以通过利用 Rust 的类型系统来实现相同的功能。
2014 年 1 月,Dr. Dobb’s Journal的主编Andrew Binstock 评论了 Rust 有可能成为C++除了语言D、Go和Nim(然后是 Nimrod)之外的竞争对手
2020 年 8 月,Mozilla 在全球 1,000 名员工中裁减了 250 名,这是由于COVID-19 大流行的长期影响而导致的公司重组的一部分。用 Rust 编写的浏览器引擎Servo背后的团队完全解散了。该事件引发了对 Rust 未来的担忧,因为团队中的一些成员是 Rust 的积极贡献者。在接下来的一周,Rust 核心团队承认裁员的严重影响,并宣布正在制定 Rust 基金会的计划。该基金会的首要目标是拥有所有商标和域名,并为其成本承担财务责任。
2021 年 2 月 8 日,Rust 基金会由其五家创始公司(AWS、华为、谷歌、微软和Mozilla)宣布成立。在 2021 年 4 月 6 日发布的博客文章中,谷歌宣布在Android 开源项目中支持 Rust作为 C/C++ 的替代方案。
根据2022 年Stack Overflow开发者调查,9% 的受访者最近在 Rust 中进行了广泛的开发。 2022 年,Rust 与Python并列成为“最受欢迎的技术”,18% 目前未在 Rust 工作的开发人员表示有兴趣这样做。
这并不总是那么清楚,但是Rust编程语言从根本上讲是关于授权的:无论您现在正在编写什么样的代码,Rust都能使您走得更远,能够比您以前更有信心地在更广泛的领域进行编程。
例如,处理内存管理、数据表示和并发性的底层细节的“系统级”工作。传统上,这种编程领域被认为是神秘的,只有少数人能够接触到,他们花了必要的时间来学习避免它的臭名昭著的陷阱。即使是那些使用它的人也要谨慎行事,以免他们的代码被利用、崩溃或腐败。
Rust通过消除旧的陷阱并提供一套友好的、精心打磨的工具来帮助您,从而打破了这些障碍。需要“深入”到较低级别的控制的程序员可以使用Rust这样做,而不需要承担崩溃或安全漏洞的习惯风险,也不需要学习变化的工具链的细微之处。更好的是,该语言被设计为自然地引导您编写在速度和内存使用方面高效的可靠代码。
已经在处理低级代码的程序员可以使用Rust来提高他们的野心。例如,在Rust中引入并行性是一个风险相对较低的操作:编译器将为您捕获经典的错误。您可以在代码中处理更积极的优化,并且有信心不会意外地引入崩溃或漏洞。
但是Rust并不局限于低级的系统编程。它的表现力和人体工程学足以使CLI应用程序、web服务器和许多其他类型的代码编写起来相当愉快—您将在本书后面找到两者的简单示例。使用Rust可以让你建立从一个领域转移到另一个领域的技能;你可以通过编写一个web应用程序来学习Rust,然后将这些技能应用到你的树莓派上。
这本书充分展示了Rust增强用户能力的潜力。这是一个友好和平易近人的文本,旨在帮助您不仅提高您对Rust的知识,而且还提高您作为一个程序员的接触范围和信心。所以,开始吧,准备好学习吧——欢迎来到Rust社区!
——Nicholas Matsakis和Aaron Turon