想开始往生产环境里面上一点儿 Rust,组里面也同意了。(虽然还是实验性的,先搞一些不太重要的、容易做的部分,换成 Rust,但还是想着要做的话,不论做什么,做出来的都要尽量比原来的更可靠、能真的长期替换掉原来的)
实践中还是遇到了不少问题,最难受的还是 stable/nightly 的问题:
我们是确定了:只能使用 stable 版本的编译器,可以追最新编译器,但不能上 beta/nightly 。
但 crates.io 里面还是有不少 crate 是或直接或间接地要求 nightly 版的。(我也得承认现在的能用 stable 编译的 crat 比几年前是多了不少)
很多 nightly 的 crate 都是依赖一些新的特性吧。但某些功能,似乎 stable 也能做,只是 stable 做起来可能没 nightly 里面那么“优雅”,或者说性能不如 nightly 。但又不大好找替代的 crate 。(就是说,即使找了一个替代的,如果哪天那个 nightly 的稳定了,想切回来,成本就不低了)
而另一些 nightly crate 用到的,是一些 stable 遥遥无期的特性。比如一些密码学库、计算库的llvm_asm!
、asm!
,stable 编译器用户完全感觉看不到希望。
合着,说来说去,生产环境还是不配用 Rust 嘛。
没有人在生产环境上用 Rust,那么 Rust 岂不是只能在个人作品里面小打小闹?
难道推广 Rust,社区就这么干指望着微软 /亚马逊这些大厂来帮你搞搞?
个人认为,既然 Rust 官方都区分 stable 版和 nightly 版,crate 的开发者也应该意识到 stable 版的重要性,而不是一味地鼓动其它开发者往 nightly 版里走。Rust 生产力的未来,应该在 stable 版里面。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.