本文来自知乎翻译: https://zhuanlan.zhihu.com/p/159457622?utm_source=wechat_session&utm_medium=social&utm_oi=626510042657198080&utm_campaign=shareopn
作者: 袁承兴 职业程序员, 图像算法工程师, 团队教练.
作者: Pierre Rouanet
--------------------------
Rust 是一门比较新的编程语言, 在 2006 年由 Graydon Hoare 启动, 2010 年由 Mozilla 正式发布. 速度极快的火狐量子浏览器就是用 Rust 开发的. 过去几年里, Rust 凭借着许多超棒的特性, 产生了很大的吸引力, 尤其对机器人 http://www.zhanhuigang.com/zhuanti-10000036.html 技术.
Rust 吸收了像 C 和 C++ 这些低级语言的特性运行速度极快且占用内存少, 同时具有很多高级语言的特性保障. 它可以避免段错误, 保证线程安全 http://www.zhanhuigang.com/zhuanti-10000085.html . 需要特别指出的是 Rust 在保障所有这些安全特性和抽象特性的同时并不产生额外的开销. 它的座右铭:
Rust: 快, 可靠, 高产 一石三鸟
基于上述, 我们相信 Rust 是机器人技术的未来, 它使开发者无所畏惧, 去创建和执行标准, 去建立并依靠一个强大的社区. 我们接下来会更详细的解释, 在此之前先回顾下当今机器人技术中的嵌入式 http://www.zhanhuigang.com/zhuanti-10000005.html 软件 http://www.zhanhuigang.com/zhuanti-10000414.html 困局.
嵌入式编程的困局
在嵌入式软件中存在两大难题:
很难写出安全的代码. C 和 C++ 的内存使用不安全, 易发人为错误. 很多的 bug 源于缓冲区溢出, 数据损坏, 读写未分配的内存. 检测和调试变得非常困难, 很多攻击和病毒便趁虚而入. 你的项目越复杂, 就会越难维护. 换句话说, 嵌入式程序员最担心: 添新功能, 毁所有.
在嵌入式软件中几乎无法实现并发, 所以很难完成从玩具 http://www.zhanhuigang.com/zhuanti-10000391.html 示例到量产的跨越. 竞争条件, 死锁, 数据损坏导致的 bug 调试起来本来就很复杂. 对于嵌入式系统来说, 开发环境相比基于 OS 的世界就更没优势了. 调试硬件中断甚至会让信心满满的嵌入式开发者感到恐惧.
来源: http://www.ailab.cn/Intelligent_Robots/20200927104005.html