我为什么喜欢 RUST

自从 2023 年 11 月份接触 RUST,至今快写了半年纯 rust 开发,在此谈谈为何喜欢 rust 。

0. 规避编程语言的技术陷阱

起初,我最常用的是 go 语言,写了两年多,并且非常顺手,诞生了大部分个人项目。后面接触人工智能,专门学了一年半多的 c++,而 c++的坑生不见底,几乎绝大部分时间都在解决编程语言自身的问题,比如跨端兼容性、内存溢出、以及眼花缭乱的历史遗留语法。也正是因为这个,在接触了 rust 后,我继承了 go 的编程优点,现在大部分时间可以一口气输出项目,只解决业务逻辑问题,从不担心如上技术陷阱。

1. 高性能、安全且可靠

自去年 11 月份起,我就强制自己使用 rust 重构和开发新项目,这么做的原因是,因为我已经用 rust 重构了部分我以前用 go 或 c++写的复杂逻辑,并且经过验证,使用 rust 后性能变高、代码执行速度快、内存占用低,简直让人拍案叫绝。当前我的个人博客就是 rust+nuxt3 写的,rust 内存占用不足 5Mb。科技站以前 go 版是 10Mb 二进制,rust 版是 5.3Mb。小白兔 AI 的后端服务都是 rust 重构的,累计运行半年,稳定可靠。

2. rust 独有的代码测试,非常方便

在 go 中调用其他文件夹里的函数,可能会提示禁止内部循环调用,而 rust 则没有这个限制,任意位置函数可调用任意函数。当遇到个别想法或者验证某个逻辑时,rust 可以在任意位置直接写 test 函数,非常方便。以前 go 代码里,还需要额外去测试,包括新建项目、写独立测试代码、获取库后再运行,非常麻烦。

3. rust 独有的 check 机制

rust 在编写时,会自动检查代码,使用 check 命令时,你可以连续一周甚至更长时间,只专心写业务逻辑代码,而不用一次次的运行整个代码。也正是因为如此,每当写完全部逻辑,真正 run 的时候,再逐个验证逻辑会非常顺畅。整体而言,这些安全可靠的代码,会触发一种编程快感,一种自我成就感。这在 go 和 c++的编写里是从未有过的。回头再看 go,为了健壮性书写海量异常处理逻辑,着实耗费人心。c++也是如此,实际只有少量时间写真实的业务逻辑,大部分时间都在调试上修修改改。

4. 成熟且活跃的 crates

编程语言要想流行,海量的库是必不可少的,而 rust 自身的强类型属性,零成本抽象,使得任何人都可以安全可靠的去封装自己的库或调用别人的库,个人写的 math_captch 库实际编译后仅几百 kb,临时缓存 safe_cache 也很小,但作用且不可小觑。rust 已经在脚本开发、硬件开发、web 开发和人工智能开发领域等都有非常多实践了,在我强制使用 rust 开发的半年时间里,感触颇深,编程只是一门工具,而 rust 正好可以帮你将更多时间用在实际业务逻辑上。虽然没有 go 的简洁性,但凭借着其生命周期、所有权、零成本抽象等特性,可助你产出高质量、高性能、高可靠的程序。

5. 其他

如果你喜欢编程,且没有接触过任何后端语言,那么优先推荐学习 go 语言。熟练后再上手 rust。编程之美,经历过这么多语言后,个人认为 rust 才是最终所属。

联系方式
广告
网站统计

累计发布:211 篇

总点赞量:1336

累计运行:6 年 20 天

建站日期:2018-10-25