公司新来CTO,上线5年的Java项目用Rust重构?

Python涨薪研究所

共 965字,需浏览 2分钟

 · 2022-10-19

有网友吐槽:新来的CTO把我们全组都rust了。。。

不是简单的重构,而是要把一个上线5年多的java项目,用rust重构。

而且CTO非常强硬,对全组人说:要么rust,要么go。

这个go,是不是可以有两种理解?

评论区一下炸锅了。

有网友调侃:你和cto说:你只是简单的做了对比,我没看到思考在哪儿,下班之前我希望看到一份有思考的文章。

有人分析了cto要rust的原因:rust轮子少,新cto容易出东西。

也有人安慰说,没说,等几个月,ceo就让他go了。

内心阳光的网友则安慰说:那也挺好,JAVA现在比较饱和,不好就业,可以拿着工资学rust。

比较阴谋论的说法则是:目的不是rust,而是把老员工赶走,培养嫡系亲信!

总之是各有各的看法。

有一说一,Rust还是有很多优势的,比如高性能、高安全和可靠性——

Rust 拥有不亚于 C 的性能;在引擎层面,Rust 具有可靠的安全性和稳定性;在数据接入层,Rust 足够底层,可以做更多其它语言比较吃力的事。

此外,对于企业级生产项目的开发,采用 Rust 更能保证程序的稳定性。

但是,Rust在现阶段也存在一些问题,包括:

第一,上手门槛高,导致市场上相关的工程师较少,人不好招。企业想扩大产出时招不到人,又要面临现有人员离职后无人能接手相关项目的风险。

第二,相关的生态还比较弱,还有很多轮子需要造,特别是高并发和低延迟部分。Rust 相关的成熟库还是太少,纯从零开始造的轮子,还是需要企业级的打磨才能更可靠,而造轮子和打磨都是需要时间的。

第三,http://crates.io 上的库大部分都还在 0.x 版本 ,1.x 以上版本的库很少,而且即使 1.x 以上版本了,还是有变更 API 的现象存在,稳定性没那么好。

第四,在后端或系统级开发中,Rust 跨平台开发还不成熟,无法做到像 Java 这种一次编译、多平台可部署运行的效果。有些功能开发甚至由于与操作系统强耦合,在跨平台时不止是简单交叉编译个目标平台的就可以了,还需要做对应的不同平台实现。

第五,企业级开发中,Rust 还达不到 Java 这种开发速度,例如 Java 的 Springboot 框架,上手简单,开发也简单,开发周期非常短就可完成企业级开发的任务。

所以,对于一个上线5年的,到底该不该用Rust重构呢?

你怎么看?



浏览 65
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报