C 语言已死?想取代资安漏洞宽如海沟的 C,你该用这个语言

Jon Evans 是一个小说家、记者,以及拥有数 10 年工程师经验的软体工程师。

出版过多本小说的他,同时也在科技网站 TechCrunch 上每週撰写专栏,而最新的专栏中,他喊出了「C、C++ 去死」的口号。

C 语言该死的资安问题

在快速变动的科技世界中,C 语言就像一个永远的避风港。现代身处的世界中,有超多东西都是由程式语言 C 打造,讲个最简单的,Windows 作业系统、Office 就是由 C、C++ 以及其他组合语言写成,说它是现代世界基石的程式语言也不为过。

不过 C 已经不再适合这个世界了。不管是在学习的难易度(特别是 C++)、「杀鸡焉用牛刀」的困境,以及最重要的资安问题。

特别是资安问题,Slack 的资安工程师,Ryan Huber 就 在 Twitter 上写了 C 语言 2017 年的资安指南 :

C 语言已死?想取代资安漏洞宽如海沟的 C,你该用这个语言

一点一点用 Rust 取代 C 吧

但是目前的程式语言却都无法完全取代「C」语言,不过 Jon Evans 也给了建议,也许程式语言 Rust 是可以考虑的选项之一。

你可能必须要先认识一下 Rust。

C 语言已死?想取代资安漏洞宽如海沟的 C,你该用这个语言

Rust 是由 Mozilla 所主导的程式语言,设计的準则为「安全、并行、实用」,支援函数、并行、程序式以及物件导向。原本是 Mozilla 员工 Graydon Hoare 的私人计画,而 Mozilla 在 2009 年开始赞助这个计画,并在 2010 年首度揭露 Rust 的存在。

Rust 的设计目标之一,就是让大型的网际网路客户端与伺服器端的任务传输变得更容易,因此更加强调「安全性」、「记忆体配置」等特性。在语法设计上与 C、C++ 非常相似。

儘管在速度上仍无法比上 C 语言,Rust 在程式语言中的速度仍保有世界一流的水平。而在强调资讯安全的现代,Rust 的安全性也是程式语言中首屈一指的选择。

也许无法「完全」替代掉 C 语言,不过,如果能够一小部分、一小部分的替换掉小区块的程式码,渐渐补足 C 所不足的资讯安全的部分。终有一日,才能真正地把 C 语言赶到边缘的角落去。

——

资料来源》

TechCrunch: Death to C, ++、Wiki: Rust、D、GO、Rust 谁会在未来取代 C?为什幺?;首图来源:Pixaby, CC Licensed。本文提供给合作伙伴转载。