为何如今吹Rust的人众多?

1个回答

写回答

加伊的人人

2026-02-10 19:45

+ 关注

人类
人类

直入主题:Rust凝聚了人类在软件工程学、编译原理等领域数十年理论与工程细节的智慧。这门编程语言,一旦熟练掌握就很难发现其缺点。要是你学过10种以上编程语言且都做过项目,就会在Rust里看到很多其他编程语言的痕迹。和C++相比,Rust的整体设计能让人用更少的人月完成底层软件开发。只要遵循开发规范,开发出的软件就不会因野指针泛滥而内存泄漏。编译器不报错时,就可安心进行无畏并发。要是出现panic,大概率是为了早下班乱用unwrap。在rust的release模式下build,会直接告知出错地点,精确到文件的行和列,根本不用你手忙脚乱找调试器。真的,一旦习惯用调试器,很多计算机领域就和你无缘了。开发者不用再被写成绝对路径的糟心Makefile折腾,也不必到项目的issue里用蹩脚英文发泄不满了。公司也无需花大价钱聘请那些所谓经验丰富的程序员,就因为他们能搞定别人做不了的依赖项配置和跨平台编译,现在只需一个cargo build --release就全搞定了。

经过数十年的发展,Rust的社区生态已相当完善。在其社区中,就连system verilog的原型解析器框架都能找到,而且不止一个。底层所需的组件,Rust基本上都具备,这为Rust重写一切现象奠定了技术基础。Rust编译器已实现自举。安装众多底层组件后就能直接修改源代码,这对很多场景下的高度定制开发意义重大。某些编程语言总是一路定义跳转,最终只指向让人不明就里的存根文件。而Rust在Cargo.toml里指定包的路径,就能与git子模块完美配合。我作为人工智能研究者兼前端爱好者,都清楚safe tensor和wasm驱动的egui框架底层是用rust编写的。据说最新的webgpu也是用rust写的。由此可见,Rust将逐渐对计算机现有的软件栈生态产生影响。搞嵌入式的朋友可能会反驳:我们公司为啥还在用C/C++?这是因为厂商提供的电机、驱动板或者芯片的驱动库、SDK接口大多是C/C++的。硬件领域的技术栈变化相当缓慢,毕竟对成本很敏感。而且多数浅层嵌入式工作不过是把数字转换一下输入电机,做个调制解调,根本用不到Rust。不过别担心,以后我做的板子和FPGA肯定会提供Rust的SDK。依旧是那句话,Rust适宜开发底层软件,嵌入式驱动程序以及顶层人工智能胶水语言不在我讨论范畴,想吵架的请左拐出门。我觉得在入门门槛方面,Rust对新手不太友好,相比其他常用编程语言,它的入门速度可能是最慢的。要是你是比较闲的大学生,真的推荐你有空的时候学学Rust。我当初学Java,从开始学到上手写CURD,大概只用了半天。而学Rust的时候,从部署中文版的Rust教程起,到开始写一个有大量线程同步的形式语言解析服务器和异步调度器,总共花了三天。我原本以为学Rust也能像学Java、C、Swift那样,半天就能入门,结果cargo checker出现各种报错,这些报错用大模型都解决不了,真是让我重新认识了Rust,它确实很独特。

然后,我就乖乖去学习了。突然记起大一C++老师讲过的话:再优秀的程序员也要有一颗学徒的心。此刻我才真正懂了。我在这个回答里提及了自己部署的Rust教程网站,抱着开源开放的态度,欢迎大家交流。最后说几句题外话。我觉得Rust和typescript这类语言短期内不太可能在国内普及。原因很简单,有些人要养家,所以会在网上主动造势来维护自己的身份和地位;很多小朋友可能也不清楚一家技术公司大规模变更技术栈的代价。这是能被理解的。所以,好东西您就跟自己的小团队自用就好,没必要跟前辈对着干。别拿我的文章或者他人文章当反驳的根据,要用自己的作品和在社区的影响力去反驳他人。

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号