可惜看不懂英文,只能查国内资料 哈哈哈
Ø 前置总结
Rust是给操作系统、嵌入式、业务逻辑非常复杂但又极致追求安全性的场景准备的。它的优点在于高性能、且安全可靠,缺点在于其复杂性和学习使用难度很高。
其余特性:版本迭代快、重要的统一编译器、近几年用户增长迅速,受欢迎程度高
Ø 定义(查自百度百科)
Rust是一门系统编程语言,专注于安全 ,尤其是并发安全,在语法上和C++类似 ,想要在保证性能的同时提供更好的内存安全。
设计准侧为“安全、并发、实用”,支持函数式、并行式、程序式和面向对象的风格编程。
Ø 创建目的
为了解决一个顽疾:软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升。
Ø 功能
适用于大型场景,即创造维护能够保持大型系统完整的边界。这就导致了它强调安全,内存布局控制和并发的特点。标准Rust性能与标准C++性能不相上下
Ø 现状
Rust已经连续五年(2016,2017,2018,2019,2020)在Stack Overflow开发者调查的“最受喜爱编程语言”评选项目中折取桂冠。
Ø 优缺点
○ 官方说明
§ 高性能
Rust 速度惊人且内存利用率极高。由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务,可以在嵌入式设备上运行,还能轻松和其他语言集成。
来自 <https://www.rust-lang.org/zh-CN/>
§ 可靠性
Rust 丰富的类型系统和所有权模型保证了内存安全和线程安全,让您在编译期就能够消除各种各样的错误。
§ 生产力
Rust 拥有出色的文档、友好的编译器和清晰的错误提示信息, 还集成了一流的工具——包管理器和构建工具, 智能地自动补全和类型检验的多编辑器支持, 以及自动格式化代码等等。
○ 使用优点
§ Rust开发人员的统一编译器,带有内置的软件包生成器和管理器,测试系统和文档生成器
§ 安全的内存管理,有助于避免分段错误
§ 使用抽象的能力,使手动内存控制更加容易
§ 修正最常见的编译错误以及清晰简洁的模式错误的建议
§ 指针只能在不安全的代码中使用–安全的代码仅包含指向保证存在的对象的链接
§ 与Mac和类似Unix的系统具有很好的兼容性
来自 <https://blog.csdn.net/dfsgwe1231/article/details/107262250>
§ 开发推进快,每三个月为周期更迭版本
○ 使用缺点(部分内容很复杂)
§ 缺少类和继承,这使得编写面向对象的代码更加困难
§ 非常严格的编译器,有时会限制过多的内存地址
§ 硬件制造商的支持不足
来自 <https://blog.csdn.net/dfsgwe1231/article/details/107262250>
Ø 适用群体
○ 开发团队(学库社区文档 https://learnku.com/docs/rust-lang/2018/ch00-00-introduction/4492)
Rust 被证明是可用于大型的、拥有不同层次系统编程知识的开发者团队间协作的高效工具。底层代码中容易出现种种隐晦的 bug,在其他编程语言中,只能通过大量的测试和经验丰富的开发者细心的代码评审来捕获它们。在 Rust 中,编译器充当了守门员的角色,它拒绝编译存在这些难以捕获的 bug 的代码,这其中包括并发 bug。通过与编译器合作,团队将更多的时间聚焦在程序逻辑上,而不是追踪 bug
Ø 使用案例
○ 软件项目
§ Redox是一个基于微内核的类Unix操作系统,该操作系统的大多数软件也是在Rust上编写的
§ 伺服,多线程优化的Web引擎
§ Firecracker,一种主要为无服务器环境创建的微虚拟化系统
○ 区块链项目
§ Parity.io –以太坊和比特币的替代客户端
§ Polkadot.network –异构区块链网络
§ Exonum,基于区块链的项目的框架
§ MaidSafe,一个分布式数据处理和存储系统
§ Solana,一个用于创建基于区块链的应用程序的平台
Ø 使用前景
○ 较低级别的系统项目,需要优异性能的项目,或需要更多控制内存发生情况的项目。
Ø 相关资料
○ 官网 https://www.rust-lang.org/
○ 学库社区 https://learnku.com/docs/rust-lang/2018
○ 中文教程 https://rustwiki.org/
○ 对Rust语言的分析 https://blog.csdn.net/shichen2010/article/details/104553909
○ 批判Rust语言 以及为什么C / C ++永远不会死 https://zhuanlan.zhihu.com/p/74993154
○ 为什么没有选择Rust?
§ 英文 https://blog.darklang.com/why-dark-didnt-choose-rust/
§ 中文
https://csdnnews.blog.csdn.net/article/details/109685315?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-10.control
○ 谷歌宣布安卓系统加入对Rust语言的支持 https://www.chinaz.com/news/1233844.shtml
○ 力挺rust的文章 why not rust?
§ 英文 https://matklad.github.io/2020/09/20/why-not-rust.html
§ 中文
https://blog.csdn.net/weixin_45583158/article/details/108786707?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-9.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-9.control
○ 2019年Rust语言调研报告 http://www.199it.com/archives/1039888.html
○ Rust:很难学但是令人兴奋的编程语言 https://baijiahao.baidu.com/s?id=1615903501098811182&wfr=spider&for=pc
○ Rust 语言风靡学术界 https://www.136.la/jingpin/show-192927.html
Köster 认为,他需要的语言既要能提供 Python 的“表达能力”,也要能提供 C/C ++ 的运行效率。用他自己的话来说,这是“一种符合人类使用习惯,同时又具备高性能的语言”。最终他选用的语言就是 Rust 。
今年 5 月,位于美国马萨诸塞州波士顿 Dana-Farber 癌症研究所的生物信息学家 Heng Li 在计算生物学任务中测试了多种语言,其中涉及解析 570 万个序列记录的大规模计算任务。测试结果显示,Rust 力压 C 语言成为效率最高的编程语言。“当我们要使用多个线程编写高性能程序,同时又需要它非常快速且节省内存,那么 Rust 是理想的选择。” Li 说。
Rust 语言目前唯一的缺点就是学习曲线陡峭。位于美国加利福尼亚州拉霍亚的化学信息软件公司 Metamolecular 的创始人 Richard Apodaca 说,他花了大约六个月的时间才精通该语言。