赞
踩
Rust相比Go的优势:
Rust可以做内联汇编,Go不行(Rust的SIMD库也在开发中,这种事情你不会用Go做)。
Rust有确定性析构,Go没有,只能whole-world-stop做GC。
Rust的接口(trait)可以静态派发,做zero-costabstraction,Go不行,它的interface只能靠反射做动态派发。
Rust没有运行时,可以写操作系统(我估计至少需要几百行汇编做bootstrap),Go离这种能力很远。
Rust有一个更丰富的类型系统,表达能力更强,允许你做更高层次的抽象,写出泛用的库,这个是Go不具备的。
Rust有更强的语义,更容易捕获错误的逻辑,编译器直接检查出你代码中的不安全的部分。
Rust的适用领域比Go更广。
Rust社区更愿意改变,Go社区喜欢坚持他们不需要泛型。
Rust有一个活跃的开发社区,如果你发觉有东西需要做出改变,不管是文档、编程思想、语言设计、bugfix等等,社区欢迎你提出来一起讨论,并且没有问题的建议经常能被快速接受,不管你以后工作中会不会频繁用到Rust,与Rust一起成长总会是一段有趣的体验;相比之下Go算是大公司病,人们不那么对提出改进的建议做出积极响应。我自己也曾经为Go感到兴奋,在那半年中我却没有读过Go的源码;然而在Rust这活跃的社区的促进下我也读过一些源码了,如果你对代码的组织方式等源码相关的问题有疑惑欢迎与我讨论。
Rust相比Go的劣势:
Go相比Rust比较简单,相对容易学习。
Rust
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。