为什么要学习rust
内存管理:对于我来说,我就喜欢它的内存管理。我做了一个webapi,取100万行数据,导出到xlsx,再把这个xlsx文件发送给前端。分别用了java、c#、go和rust进行了相同的操作。只有rust做到了,启动时8MB内存,执行webapi操作时占了1G左右内存,发送给前端后,内存又回到了8MB。内存即时释放,这一点对于服务器来说,太重要了。当然你可能要说,c/c++也能做到内存即时释放,首先我不会c/c++,其次就算是会的人,也很容易出错。所以对于我来说,rust是我唯一能做到内存即时释放的语言。
跨平台且无需另外安装运行时:rust可以编译到win、mac、linux,而且体积非常小,而且不需要单独安装运行时。这一点GO,也可以,但是go内存占得多呀。
赌未来:rust处于上升期,微软已经在使用rust慢慢替代c/c++了,在win11 2024H2中已经有了rust的代码。linux虽然还没有rust落地,但是已经在“激烈讨论”了。国内来说,华为早就是rust最高级别会员之一,字节的rust早就落地了。从目前的趋势来看,rust在未来20年都不会被淘汰。
学习rust应有的准备:找不到工作,目前国内的rust岗位几乎没有。难度大,对于不会c/c++的人来说,rust入门难度很大。据说对于会c/c++的人,rust其实并不难。
哪些人最适合学rust?
1、学生,学生时间多,学习能力强,学rust最合适不过。
2、业余时间比较多的程序员,学rust很花时间。如果你太忙,不建议学。
3、已经会c/c++的程序员,这类人学习rust比较容易。多一个技能,为什么不呢。
4、自由开发者,这类人需要有突破点。java等开发的应用太多了,拿出去很难竞争,rust或许是一个突破点。
作者并不是高手,只是算是半入门rust的人,使用rust做了一个电子表格工具:hpctb。涉及到xlsx的读写,webapi的操作,pgsql、mysql、sqlite、mssql、oracle的操作,证明rust也能做业务。