barretlee / translation-plan

翻译计划
https://www.barretlee.com/translation/
MIT License
36 stars 0 forks source link

Programming in Rust: the good, the bad, the ugly. #4

Open barretlee opened 5 years ago

barretlee commented 5 years ago

https://hackernoon.com/programming-in-rust-the-good-the-bad-the-ugly-d06f8d8b7738?source=rss----3a8144eabfe3---4

barretlee commented 5 years ago

身边使用 Rust 的人并不多,就不做翻译了,文章详细看了一遍,从语言、工具和库三方面分别阐述了 Rust 好的、不好的和设计丑陋的部分。

语言

好的部分:设计比较人性,提供了比较多的函数编程特性,强制你把内存分配这件事情办好(语言层面规范你写出安全的代码),提供现代式的编程抽象(全面、易用),提供了好的方式让你正确处理每个函数的返回。

不好的部分:有些链式调用很繁琐冗余,类型有时候不好处理,有些看起来简单的动作处理起来很麻烦,需要处理所有的返回太麻烦。

丑陋的部分:宏设计得很屎。

工具

好的部分:IDE 好使,包管理工具好使,编译系统运行测试用例好使,安装工具不错,代码格式化工具好使,有编译缓存工具可以加速编译。

不好的部分:编译感觉有点慢,IDE 的代码提醒不太准,没有 REPL 环境。

丑陋的部分:IDE 工具效率低,bug 多,经常奔溃。

好的部分:生态不错,库很多,有些库的质量很好,超出期望。

不好的部分:太多的库像个半成品,有些库的入参太多了,库的依赖太多(比 Node.js 好点)。

丑陋的部分:依赖多且重复,有时候编译多个不同版本的同个库。