Rust语言强在哪 + 写Rust代码的感受

文章目录

    • Rust语言强在哪?
    • 缺点呢?
    • 学习Rust语言的感受
    • 一起给Rust语言贴标签
      • Rust是强类型语言
      • Rust是静态语言
      • Rust支持强大的模式匹配
      • Rust支持宏编程
      • Rust支持内联代码
      • Rust支持高效的函数式编程
      • Rust是无须手动释放内存的编程语言
      • Rust是多线程安全的编程语言
      • Rust支持元编程

Rust语言强在哪?

关于Rust代码的运行性能,网上有很多比对测试和讨论,笔者这里给出一个比较统一的说法:Rust代码性能媲美C++

无论是运行占用的内存还是消耗的CPU时间,Rust在一众现代编程语言中“一骑绝尘”,是仅次于C,而与C++不相上下的强者。

一句话总结,Rust强在哪,可以浓缩为4个词:安全高效便捷优雅

安全:单一所有权机制的设计,从根源上出发,解决内存回收的问题。在编译期就杜绝绝大多数内存安全和多线程安全问题。

高效:静态编译,且无运行时和动态GC等问题。

便捷:虽然是静态强类型语言,因为支持类型推断、泛型和函数式编程,Rust代码的书写跟书写PythonTypeScript等动态语言代码,其体验是近乎一致的。还有强大的宏编程,让脚手架代码浓缩于一个“瘦小”的宏中。

优雅:优雅的代码令人赏心悦目。Rust中提供了很多优雅的方式来简化代码的书写,让代码的含义更加直观。

比如无处不在的From/Into traitAsRef trait等等。


缺点呢?

如果非要找Rust有什么缺点,勉强总结3点:

1、Rust团队极其注重性能,针对不同的应用场景提供了各种不同的解决方案。要全面掌握Rust,需要学习和掌握各种应用场景,学习成本高。不过,反过来看,一旦完全学会,将受益无穷。

2、Rust是严格的强类型语言,经常需要as关键字进行类型转换,略显麻烦。

3、编译过程中,因为严格的生命周期和所有权检查、以及大量的宏展开,编译略慢。

不过瑕不掩瑜,任何事情都有两面性,没有绝对的完美。

Rust编程语言已经做到“前无古人”,看好Rust成为未来5-10年的主流。

Rust语言就像一门横空出世、集百家之大成的武林绝学,一旦掌握,将会傲视代码江湖。


学习Rust语言的感受

  1. 用Rust写代码,会让你对变量的生命周期变量之间的引用关系了然于胸。
  2. rust表达力强大,熟悉某个模块之后,写代码顺手拈来,毫不费劲。
  3. 编写链表、树、图的相关代码,掌握难度比较大。

一起给Rust语言贴标签

Rust是强类型语言

不存在隐式类型转换,能避免编程中不小心导致的一些隐含错误。

Rust是静态语言

需要先经过编译器编译成机器码,才能高效运行。而不像动态语言需要一个解释器解释执行。

Rust支持强大的模式匹配

https://doc.rust-lang.org/std/keyword.match.html

https://blog.csdn.net/linysuccess/article/details/123611572

Rust支持宏编程

Rust支持宏编程。借助强大的宏规则,能够在编译期修改代码树,添加很多脚手架代码。

Rust支持内联代码

通过 #[inline] 宏标记。内联操作让编译器将嵌套的函数调用进行代码展开,省去嵌套调用函数的额外开销。

Rust支持高效的函数式编程

不光写代码高效,函数式编程相关代码在执行时同样非常高效。这得益于,标准库iterator.rsmap/filter/fold等函数都有 #[inline] 标记。

Rust是无须手动释放内存的编程语言

90%的情况下如此(大部分人甚至无需接触余下的10%)。

Rust是多线程安全的编程语言

共享不可变,可变不共享。

不可变的内容可以在多线程中进行共享访问,通过Arc引用计数只能指针。

多线程中可修改的内容,必须通过互斥机制(AtomicMutex)进行同步。

Rust支持元编程

宏;用代码来生成代码。


欢迎在评论区一起给Rust“贴标签”。

你可能感兴趣的:(Rust编程小知识,rust编程,rust强在哪,rust语言特点,rust所有权机制,Rust写代码感受)