Rust适合所有的工程师吗?

有人认为,Rust更适合编程经验较少的程序员,如果你有1-2年的编程经验,那么入门Rust会更快一些。

 

此观点,近日在Reddit上还引起了广泛讨论,认为合适的原因是:

1. 开箱即用得益于cargo的帮助可以快速创建项目并开始编程并拥有测试文档格式化的全套支持

2. 简单易用理解和模仿示例并不需要投入大量精力程序往往能够清晰地表达自己的作用在阅读文档和示例后可以快速展开工作

3. 鼓励探索学习Rust可以推动对编程和计算机相关知识的理解每深入一步都意味着有新的收获

 

也有人认为Rust更适合经验丰富的程序员能对若干语言熟练使用原因是Rust的很多优秀特性博采众长,你也可以从这里了解到很多其他语言的精华

 

Rust是一门充分吸收现代语言优秀特性同时提供高阶的零开销抽象能力以及面向操作系统底层的接口注重实用性能安全和编程体验的语言

 

实用性

 

对于程序员来说一门语言最重要的就是实用性如果一门工具没有了实用性那就失去了掌握它的意义编程语言的使用者绝大部分都是为了解决实际问题的语言的完备性设计美感一致性都不是程序员们关注的重点

 

Rust就是一门非常务实的语言但它的Unsafe也经常被人吐槽很多人嘲讽说Rust不是宣称安全性吗那还提供Unsafe干啥实际上现实世界本就是Unsafe的一只蝴蝶扇动翅膀都可能引起一场飓风一只臭虫都可能引发电路板故障那么与Unsafe世界打交道使用Unsafe便是很自然的事

 

性能

 

在很多场景下性能并不是至关重要的因素但在某些场合性能问题是0和1的问题经常听到有人对Java和C++性能的比较很多人有一种错觉Java强大的JIT加持下,不说超越C++,接近应该是没问题的实际上很多场景并非如此。比如epic的早期实现使用Java提供的dexmaker,切换到C++之后,dex生成速度提升了将近10

 

Rust也是一门注重性能的语言程序员们使用的很多命令行工具就是用Rust写的,有超越同类工具的卓越性能Rust在性能方面有着极高的上限完全可以胜任你对性能敏感的场合

 

移动语义

 

Rust 语言没有历史包袱,它默认就是移动语义,不需要你去考虑右值引用、引用折叠完美转发这种问题,使用起来非常自然。

 

Rust语言采用移动语义,拥有严格的代数类型系统以及生命周期、所有权模型相比传统的编程语言,这些模型能在合适的时候释放所用资源,减少漏洞的出现。此外,通过语义检查,Rust能在编译期有效寻找内存和线程安全问题,降低开发和测试的负担。

 

所有权、生命周期和 RAII

 

学习任何一门技术语言从上层到底层自顶向下到最后一定会接触到CPU内存等底层资源

 

Rust 的所有权、生命周期对一些人可能比较新奇,但是,它本质上就是提供了一种对内存的控制方式,仅此而已。而这种访问方式,给了我们一种内存安全的可能,它需要我们编写程序的时候付出更多,但是这种 trade off 是有价值的。

 

我们可以看到集表达力、高性能、内存安全于一身的Rust,在很多场景里都能大施拳脚。因此,不论你经验丰富与否,都应该尝试学习一下Rust。掌握了Rust,就相当于掌握了很多其他语言的精髓,把Rust引入你的技术栈,也会让自己职业生涯多一门面向未来的利器。 

posted @   非凸科技  阅读(92)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示