前段时间,我们跟一位朋友打了赌,他赌如果 QCon 全球软件开发大会策划 Rust 专题爆场(即会场人数溢出),我们就要请他吃饭,我们答应了,但是过了几天一想,这个赌,怎么看都是我们“稳输”。你们觉得呢?
Rust 在近段时期确实是有一点点火,而我们最终决定做策划 Rust 专题,肯定不是因为它火,而是看到了它背后的价值,这样一个好用的语言,如果因为生态发展不起来,就渐渐弱下去,那未免太可惜了。
在做 Rust 专题的过程中,我们也看到了社区里的一些观点,在此想与你探讨一下。
前段时间看到有人吐槽说,Rust 的使用者老是吹它有多好,但是好几年了,Rust 在国内并没有大规模使用,远远不如 Go,一直都没有发展起来。于是这个同学预测,Rust 在国内很快就死掉了。
这个推测有些惊悚,至少我们看到,Rust 在国内的发展是在逐步向上的。国内最早的一个 Rust 深耕落地的项目,应该是 PingCAP,当时对 Rust 有兴趣的同学多多少少都有点想去这里工作。其他大厂,比如字节,也是早几年就对 Rust 有投入,而华为还是 Rust 基金会创始成员之一,内部有不少用 Rust 编写的产品,甚至在 2017 年他们就与 Rust 结缘了。QCon 也曾邀请过一两个老师来讲 Rust 实践,比如在 2019 年的北京站,王枞老师分享了题为《Rust 跨平台客户端开发在字节跳动的实践》的演讲。
Rust 是一把锋利的瑞士军刀,它提供了很多新的能力,同时,足够现代,它可以做任何领域,同时也都能做好,但是需要使用者能够灵活运用。如果不够灵活,你就什么也写不出来,这大概率是因为 Rust 团队的“精神洁癖”。“Rust 为了安全限制了很多操作,但是这个世界是 unsafe 的,就连官方库都大量的 unsafe,只是让你用起来 safe,unsafe 的底层包了一层 safe 的壳,这就是所谓的把问题收敛。”一位 Rust 使用者表示,你只能祈祷写底层 unsafe 库的人不要犯错,“如果底层库出问题了,我们啥都做不了,只能等官方修。“
而 Rust 最大的问题还是生态弱势,这需要不断有人进去填坑。但 Rust 的适用场景目前是相对有限的,它本身的学习曲线又比较陡峭,导致但是很多同学想学,苦于不得法门。
所以,我们得到了一个观点,Rust 好用和它小众并不冲突,它在国内会发展良好但绝不会成为下一个 Java 和 Go。