关于X语言为什么需要替换C / C ++的讨论似乎每隔几年就会出现一次,而这次的争论集中在“内存安全性”上。没有人愿意承认,在不安全的内存中使用的每种情况都是程序员的编程错误。溢出,释放指针的重用和索引都是错误,它们被称为边界检查器的最基本的工具所捕获。
此外,这并不像假定的“内存安全”语言没有自己的安全性问题,所有这些问题都是由程序员自己犯的错误反复发生引起的。
我同意Rust是一种很棒的语言,它提供了Java,Python或Ruby等以前被吹捧的“内存安全”语言所无法提供的速度,但是C / C ++不会被取代。在某些区域,需要比编译的字节码更高的速度和效率,例如操作系统。
如果在Google Trends上同时比较Rust和C ++,这就是我得到的。 C ++将Rust击败了。每个C ++都像匕首刺穿Rust,然后将其固定在地板上! C ++似乎有自己的起伏,但在过去5年中,它一直保持着相当稳定的趋势。
Rust是一种很棒的语言,但是主要的问题是世界上大多数行业和公司都不想重写他们的代码。
尽管rust很棒,但是我不喜欢在我的项目中使用它,因为大多数优秀的库仍在使用c / c ++进行开发,并且通过rust包装c / c ++代码的意义何在?
在C ++中,您编写类来抽象化内存访问。编码时,您依靠这些类,而不是手动管理每个调用站点上的内存。与Rust几乎相同-您将工具的所有不安全用法都包装到了安全的API中,并且仍然获得了借用的所有好处。
所以,Rust非常适合这些领域。编写低级代码总是很困难,Rust使您可以将更多的复杂性转移给编译器。所有不安全的代码都将被本地化,并且您将使用测试和文档来证明不变量。
C ++是一种很棒的语言,您将获得出色的性能,并且可以使用其丰富的功能库来构建超快速的应用程序。您可以构建各种应用程序,从GUI应用程序到3D图形,游戏,桌面应用程序,以及硬核计算机视觉应用程序。
领取专属 10元无门槛券
私享最新 技术干货