背景
软件开发核心专家对于软件开发生产力的推动从未停止,这种推动从宏观上有各类代码生成辅助工具平台,不管是可视化组件拖拉式开发,还是AI预测代码自动生成工具,进而是某些模型的代码直接生成工具,都是宏观上的体现,另外,还有微观方向,微观上对开发细节的优化上,比如Rust,就是微观上的一种尝试,Rust的微观切入点就是C和C++的内存安全和并行安全,当然Rust也有一系列其它的优点,不过Rust也正在发展中,可能也会有一些不太好接受的地方。
Rust
Rust 是一种专注于安全性和性能的低级静态类型多范式编程语言。—Gints Dreimanis[2]
Rust 是一门系统编程语言,专注于安全,尤其是并发安全。它支持函数式和命令式以及泛型等编程范式的多范式语言,且 TensorFlow 等深度学习框架也把它作为一个优秀的前端语言。
Rust核心
Rust核心在于内存安全性和并发安全性。
rust语言在语法上有一个新东西:RAII——就是通过所有权、借用、生命期机制来做到精确的内存控制(不需要程序员写代码来释放内存,也没有GC)。
与现在流行的很多新语言一样,Rust在语言层面支持了绿色线程(Green threads)——Task。Task作为并发执行的单元,是用户空间的“线程”,创建和调度成本较低,可以大量共存。Task之间通过消息传递通信,没有直接共享数据。共享数据就有线程状态切换,而线程状态切换就非常浪费CPU。当然新的模式,需要大家投入时间来适应。从最近的流行趋势来看,绿色线程几乎已成为并发方案大战的最终赢家。除了Rust,之前流行的Go、Erlang、Python的Gevent,以及最近Clojure世界里正在发展的core.async,采用的都是这种绿色线程模式。
Rust其它特点
rustfmt 使用规范样式自动格式化Rust代码。
由于 Rust 旨在使程序员能够完全控制底层硬件,因此有可能将 Rust 程序优化为非常接近机器的最大理论性能。对于执行速度超过所有其他考虑因素的领域(例如游戏编程,操作系统内核,Web 浏览器组件和实时控制系统),Rust 使其成为绝佳的选择。
Rust发展
微软、Apple和华为等其它公司都在Rust上投入了精力,开发一些产品,比如华为的StratoVirt, StratoVirt是计算产业中面向云数据中心的企业级虚拟化平台,实现了一套架构统一支持虚拟机、容器、Serverless 三种场景。StratoVirt 在轻量低噪、软硬协同、Rust 语言级安全等方面具备关键技术竞争优势。
锐英源软件后续会发布Rust相关的技术文章,敬请关注,等待更新。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!