Rust:一个不再有 C/C+的,实现安全实时软件的未来
作者丨lochsh
译者丨马可薇
策划丨王文婧
Rust 作为新兴编程语言深受 Haskell 和 OCaml 等函数式编程语言的影响,使得它在语法上与 C++ 类似,但在语义上则完全不同。Rust 是静态类型语言,同时具有完整类型推断,而不是 C++ 的部分类型推断,它在速度上可与 C++ 媲美的同时,也保证了内存安全。
索引的故事
在详细介绍 Rust 之前,我们先举一个例子。想象你是一个为新房子搭建煤气管道的工人,你的老板想要你去地下室把煤气管连到街上的主煤气管道里,然而你下楼时却发现有个小问题,这个房子并没有地下室。所以,现在你要做什么呢?什么都不做,还是异想天开地妄图通过把煤气主管道连到隔壁办公室的空调进气口来解决问题?不管怎么说,当你向老板汇报任务完成时,你或许会在煤气爆炸的土灰中以刑事疏忽罪起诉。
这就是在某些编程语言中会发生的事。在 C 里是数组,C++ 里可能是向量,当程序试图寻找第 -1 个元素时,什么都有可能发生:或许是每次搜索的结果都不同,让你意识不到这里存在问题。这种被称作是未定义的行为,它发生的可能性并不能完全被杜绝,因为底层的硬件操作从本质上来说并不安全,这些操作在其他的编程语言里可能会被编译器警告,但是 C/C++ 并不会。
推荐阅读
- 雷神|原神:曾经有一个强力五星角色,却因各种“流言蜚语”,擦肩而过
- 次世代|韩国战队全军覆没,斗鱼选手实力强大,一人击溃一个队
- 手机游戏|LOL手游第一个世界赛,破晓杯火热开战,DKG能紧随EDG夺冠吗?
- xyg|月光败给XYG不敢去采访,怕主持人问他一个问题!根本没办法解释
- 卡牌|王者峡谷最难抓的五个英雄,暗信算一个,榜首玩起来非常快乐
- 传奇世界|传奇世界:盘点当年出现过哪些漏洞,有一个至今都存在?
- 扁鹊|裴擒虎虎年限定有变,嫦娥拒霜思配音引热议,扁鹊有一个好消息
- 绝地求生|不播绝地求生,跑去玩双马尾少女?PDD后又一个主播“沉迷”幻塔
- 光·遇|光遇:追光季复刻盘点,下一个返场先祖,可能是笛子或者灯泡斗篷
- 地下城与勇士|DNF:“全民云上”时代到来,一个过气小副本,究竟有何魅力?