近日TIOBE编程语言榜单刚出Rust再次引起了热议。某平台上有关于“Rust编程语言一般适合用来干啥?”的问题,被浏览次数超过八十万次。
题主在详情中说:Java、C、Python都很好,为什么人们还要捐出一个Rust来?
先聊聊Rust与其他语言比较:
Rust与C++比较
Rust和C/C++相比肯定是要稍显的年轻了,最初的开发者只有一位就是GraydonHoare,之后是得到了Mozilla的赞助。Rust语法上与C++相似,它能提供更高的速度和更好的内存安全,不用自动垃圾回收,也无需手动释放。
在安全的内存管理方面,不少开发者把Rust当作一种更具有创新性的系统级语言,因为它不允许悬空指针或者空指针。
在外媒TheRegister的文章中写道:或许我们总是可以写出完美安全的C/C++代码,只是这对大多数而言不是一件容易的事情。因为这两种语言都太容易造成内存错误了,比如:无效的栈和堆内存访问、内存泄露、不匹配的内存和分配和反分配、未初始化的内存访问。
Rust与Java比较:
对于开发者而言,完美的资源分配和良好的内存管理是Rust很大的优点。使用Rust你可以轻易尝试各式类型新颖的复杂项目,之前由于Java语言的复杂性你不敢轻易尝试的都可以用Rust。
Rust与Python比较:
Rust超越Python的一个主要原因是性能。因为Rust是直接编译成机器代码的,所以在你的代码和计算机之间没有虚拟机或解释器。
与Python相比,另一个关键优势是Rust的线程和内存管理。虽然Rust不像Python那样有垃圾回收功能,但Rust中的编译器会强制检查无效的内存引用泄漏和其他危险或不规则行为。
编译语言通常比解释语言要快。但是,使Rust处于不同水平的是,它几乎与C和C++一样快,但是没有开销。
Rust应用场景
Rust各种学习网站: