Rust永远不会取代C++。Rust和其他声称淘汰/替换C++的语言可能也会慢慢消失。
让我解释一下:在计算中,创建一个干净的模板是不可能的,也是完全不能接受的!无论您采用什么新想法(安全性,效率,明晰性,简便性,成本,智能性等),都不可能放弃一切并重新开始。世界不是以这种方式工作的,就这么简单。
当世界开始编码时,一切都变成了Fortran。当时,根本不可能离开Fortran。几位天才创造了C语言,它的优点是很容易将Fortran代码转换为C。C的另一个优点是它的编译器非常简单,因此在新机器中的实现很容易。因此,出现了许多具有C但没有Fortran的机器。还创建了Unix操作系统,该操作系统全部使用C语言。所有这些导致缓慢的世界逐渐一点点迁移到C语言。
但是还有更多:不能忘记:面向对象的编程。无论如何,像往常一样,不可能从头开始。有必要在一种新的C语言中进行一些小小的渐进式更改,但要纳入OOP范式。另一个天才BjarneStroustrup理解了这一点,他用Objects(今天的C++)创建了C。这个想法(构筑未来,保留过去)允许缓慢过渡到新语言。这种转变之所以成为可能,是因为C++与C完全兼容,并且它在信息学中融合了一个全新的重大进步:面向对象编程和通用编程。即使是40年后的今天,这种过渡也非常困难和缓慢。C++尚未完全取代C,而且可能永远不会取代C。但是重要的一点是:进入一种新语言后,唯一可能的选择是使其一直很缓慢地支持过去。任何暴力的过渡都是不可能的。
如今,C++是对未来的持续过渡:Cfront,C++98,C++03,C++11,C++14,C++17,C++20,C++23和承诺的C++26;所有这些都与过去完全兼容。这,也只有这,是信息学发展的独特选择:非常缓慢且适应性强的过渡。
如果在年不可能发生剧烈的过渡,那么今天已经编写了数十亿个计算机程序,数百万程序员,数千教师,数百免费图书馆,数百网页信息,几个免费的经过完全优化的C++编译器(适用于所有机器)一个活跃的C++委员会,该委员会将永久地发展该语言;完全不可能假装重新从零开始。
为什么Rust和其他声称替代C++的语言在慢慢消失?由于这些语言并不能代表计算机技术进步中足够重要的一步,因此它们与过去不兼容,并且打算在未来进行剧烈改变。那根本是不可能的。抱歉,成功的机率几乎完全为零。
我的建议:忘记Rust和其他C++杀手,,不要浪费时间和金钱。如果您有任何新的有趣的想法,请不要编写新的语言,请去C++委员会并提出补充建议。