Rust 与「内存安全」无关
虽然当下与内存安全相关的讨论围绕着Rust相对于C/C++/Zig/Go等语言的安全性展开,但Rust的主要目标是确保程序的正确性。
Rust并不仅仅是关于内存安全的。尽管人们普遍认为Rust是一种内存安全的语言,但实际上,Rust更注重的是语言的正确性,而不仅仅是内存安全。
在批评其他语言时,人们常常会以"你的程序出错了,那是你技术不行"作为回应,但实际上这与技术水平无关。
在形式语言理论 (formal language theory) 中,描述语法的规则必须与您想要包含在语言中的规则完全匹配。这意味着语法必须排除任何没有定义语义的单词,同时语言也不应该为任何无法由语法规则解析的程序指定语义。这种双向关系确保了语法与语言之间的一致性,使得对语法和语言之间的关系进行研究更加准确和可靠。
形式语言理论还提供了关于任何程序执行可以被抽象机器的一组语法规则表示的知识。就像您可以定义一组语法规则来解析带括号的算术表达式一样,您也可以定义一组语法规则来模拟C程序的执行。这种抽象机器的模型是C的基础,用于形式化规范语言中的行为。
C语言的一个弱点在于其存在未定义行为。当您对空指针进行解引用时,结果是未定义行为,这意味着程序的整个结果是不确定的,可能会导致各种不同的结果,包括崩溃、输出垃圾数据等。
这种未定义行为的存在是因为编译器必须假设代码中的某些部分是不可能发生的,以便正确编译。C编译器无法知道指针是否为NULL,是否指向有效内存,或者内存是否已初始化,因此它会假设指针是有效的、已初始化的非空指针。这种假设在大多数情况下是正确的,但写入无效内存可能会产生各种效果,而编译器并不关心这些效果。
总而言之,Rust强调的是正确性和语言的严谨性,而不仅仅是内存安全。通过形式语言理论的概念,可以更好地理解语言的语法和语义之间的关系,以及在编程语言设计中如何考虑程序的正确性和可靠性。
原文:https://o-santi.github.io/blog/rust-is-not-about-memory-safety/
相关讨论:https://news.ycombinator.com/item?id=40557277

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
微软 Edge 市场份额创历史新高
知名流量监测机构 Statcounter 公布了 2024 年5 月份全球桌面浏览器市场份额: 主要数据如下: Chrome:64.88% Edge:13.13% Safari:8.8% Firefox:6.64% Opera:3.23% 360 Safe:1.09% …… 上个月,微软 Edge 的全球桌面浏览器市场份额上升至 13.13%,创下历史新高。 而在移动桌面浏览器市场,目前仍是 Chrome 和 Safari 占主导地位。 上月 Chrome 浏览器的市场份额为 65.94%,而苹果 Safari 浏览器的市场份额为 23.47%。微软也有移动版 Edge,但其市场份额甚至远不及三星互联网的 4.43%。Statcounter 数据显示,iOS 和 Android 版微软 Edge 的市场份额约为 0.34%。 Google Chrome - 65.94% (+0.19%) Apple Safari - 23.47% (-0.30%) Samsung Internet - 4.43% (+0.06%) Opera - 2.16% (-0.02%) UC Browser -...
- 下一篇
2026 年中国人形机器人产业规模有望突破 200 亿元
赛迪顾问日前发布的《2024中国人形机器人产业生态发展研究》报告指出,当前人形机器人正处于从实验室研发到产业化转化的关键时期,2023年人形机器人产业进入爆发期;预计到2026年中国人形机器人产业规模将突破200亿元,未来功能型整机将逐步占据主流、发展潜力巨大。 研究认为,人形机器人更擅长于与人类交互,处理复杂多样的工作任务,在人类工作生活的环境中辅助或替代人类进行工作。人形机器人有望率先在工业领域实现示范应用,在特种领域将逐步替代人类,并将于成熟度较高后在民生领域实现大规模应用。 在技术创新方面,研究显示,中国人形机器人研究热潮已持续十余年,近年来专利申请公开量与授权量快速增长,且发明专利授权占比持续提升,目前北京市在有效发明专利储备和创新机构数量方面具有领先优势。 在企业动态方面,研究显示,2023年人形机器人产业生态各环节均快速发展,投融资热度显著提升,广东、北京、上海等地已集聚一批核心企业。 赛迪顾问先进制造业研究中心认为,发展人形机器人的价值意义在于带动机器人全产业链发展、驱动经济增长、以及推动人类社会发展。当前人形机器人发展面临三大挑战,一是多项基础部件亟待优化,产品成熟度...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7