我觉得 rust 主要难在文档写得不好. 实践中很关键的几个东西, 比如 temp 临时变量,
move|copy, method lookup 的真实过程, 文档里都没怎么涉及, 至于当你看到 reference
的时候才开始涉及, method lookup 在 referenece 和 nomicon 里面讲的竟然还是错的,
dev guide 里面才终于讲对了.
其他常说的 rust 门槛, 比如对内存模型的理解, 生命周期啥的, 其实都还好
【 在 eGust 的大作中提到: 】
: 难不难都是相对的。最近 go 的讨论中有人提到,很多 go 用户都是从 py、rb、js 之类脚本语言转过来的。我觉得的确有一定道理,作为编译型的鸭子类型语言,加上极其有限的语法,脚本语言转过来的确难度相对较低。对于 c/c++ 对性能敏感的场景,go 并不适用。效率上跟 jvm 半斤
: 八两,所以 java/c# 也没有换的理由。这些语言里,让只懂脚本语言的人上手的话,的确 golang 算是最容易的选择了,直接上 rust 步子迈太大了。
: 但如果对比较现代的静态类型语言比较熟悉,比如 kotlin、swift 之类甚至 c#,我个人认为难度应该是不高的。毕竟想解决的问题都是类似的,再加上许多语法都是抄来抄去的,至少看着都眼熟。至于 c++ 自然就更不用说了,天然更容易上手。
: ...................
--
修改:beep FROM 123.120.160.*
FROM 123.120.160.*