一家小公司CTO在Reddit上发帖询问:我应该使用Rust,还是Go?表示这两种语言更倾向于Rust,因为喜欢;而考虑GO,因为更容易找到开发人员。
对此,Reddit上有一些回答:
网友A:我们雇用了应届生,让他们学习Rust。他们没有遇到任何问题就学会了,并且正在编写干净的、性能良好的代码,单元测试覆盖率达到100%。然而,Rust的库生态系统并不像Node或Go那样完善。但是也正在努力发展。
网友B:我在教同事写Rust代码时,即使写的时间相对有限,也相当有高的效率。学习曲线可能会很陡峭,但如果有人可以教授和指导,我认为这不会是一个大问题。我们写TypeScript的程序员非常喜欢Rust,并希望能用它做更多的事情。
网友C:Rust有更多的安全机制,更好的内存处理,更好的错误处理,更少的语法噪音,更友好的社区,更低的资源使用,所有这些都是好东西。然而,如果你是个新手,而且你还不是一个可靠的开发者,你将需要所有你能得到的(优秀的)文档和帮助,这仍然需要花费一些时间。
普通应用层项目 版本答案是 java c# php nodejs
GC 成为瓶颈的时候再用 Rust C++ 重构 或者 编译为 DLL
golang 不上不下. 唯一的优势是 静态编译,
用户不需要安装 runtime
( 但软件的尺寸会变大,
c# 几百 KB 就可以写一个带原生界面的小工具,
可以在 xp 及以上, 瞬间启动, ( win系统自带 .net framework) ),
c# java nodejs python 等等 可以一键打包 runtime 到 程序中,
c# 还支持 runtime 裁剪, 类似 前端的 tree shaking,
也算是解决了 安装 runtime 的问题
go 各种内部实现 和 GC 都没有 Java C# 的好.
go 协程只需一个关键字.
其他语言需要 async await 两个关键字.
而其他方面 async 无栈协程更优 ( 性能, 内存 等等),