Rust语言设计理念及优缺点
所属分类 rust
浏览量 1048
与众不同的特征 Memory Management
基于 Ownership + Borrowing + Lifetime 的 compile-time 内存管理
C/C++:
Let programmers manually manage pointers,
and trust that programmers access them and free them correctly ,
otherwise will cause run-time errors
Java 等 Run-time GC
Rust
基于 Ownership + Borrowing + Lifetime,(ideally) 不存在手动管理指针,
在 compile-time 时 borrow checker 解析并插入合适的资源释放 routine
设计理念 安全 快速
C 哲学
完全信任 programmer,给予充分的实现自由,但需要细心、严谨、有经验去实现
否则 segfault / memory leak
Rust 优点
基于 Ownership、Borrowing、Lifetime 的内存管理机制,实现 compile-time 安全性、尽可能减少 run-time error,同时保证运行高效
编译时捕捉大部分错误
基于 Option & Result 的空值和错误处理,保证了代码清晰的情况下,对空值和错误全面而安全地处理
基于 Traits 的 Generic 范型系统
优秀的 Macro 宏定义机制,实现了较好的 meta-programming 能力,使代码简洁易懂,减少常用功能的代码冗余
完整、易用的工具链 使用 Cargo 做项目依赖管理
Rust 缺点
规则复杂
程序员自由度低
学习门槛高
真正触及底层的时候不得不用 unsafe
从 debugging / performance tuning 消耗上 转移到了 学习Rust 的过程上
上一篇
下一篇
Java为什么不能在构造函数中启动线程?如何终止一个线程?
ETF IOPV 实时净值参考
GO为什么没有虚拟机
mysql DATE_ADD 函数
C++ RAII 简介
GO 和 RUST