首页  

Rust语言设计理念及优缺点     所属分类 rust 浏览量 884
与众不同的特征 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