有人认为,Rust更适合编程经验较少的程序员,如果你有1-2年的编程经验,那么入门Rust会更快一些。
此观点,近日在Reddit上还引起了广泛讨论,认为合适的原因是:
-
开箱即用。得益于cargo的帮助,可以快速创建项目并开始编程,并拥有测试、文档、格式化的全套支持。
-
简单易用。理解和模仿示例并不需要投入大量精力,程序往往能够清晰地表达自己的作用;在阅读文档和示例后,可以快速展开工作。
-
鼓励探索。学习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引入你的技术栈,也会让自己职业生涯多一门面向未来的利器。
非凸科技是一家国内领先的智能算法和交易系统服务公司,专注于智能算法交易领域的研究和开发。公司秉承着精英化团队的管理理念,有着纯正的名校基因和金牌血统。研发团队汇集了多位ACM金牌选手,90%以上来自海内外一流学府。
现阶段,我们正在寻找行业内优秀的Rust开发工程师,如果你愿意加入到顶配的技术团队,有着与市场一较高下的抱负,我们真诚地邀请你一同并肩而战!
Ext Link: https://ft.tech
评论区
写评论求卓越算法,赋能量化交易,一直是非凸科技不懈的追求。业务高速发展的同时,团队规模也迅速壮大,有国际竞赛冠军,有高校风云人物,有大厂顶尖架构师,还有机器学习大牛。期待与严谨细致、沉着冷静、热爱Rust、对量化行业充满热情的你,一同奋斗在量化交易的最前线!欢迎加入非凸!
真不错
--
👇
ftkj411522: 薪资:提供有竞争力的薪资
福利:提供租房补贴
工作地点:北京、上海、成都
投递方式:
1.邮箱邮箱:recruit@ft.tech
2.加hr微信投递:SweeneyTodd333333
有兴趣的快快投递简历吧!
一起来学习吧
--
👇
dingla: 是的
--
👇
wrx1239: 万事皆有可能
--
👇
Youziw: Rust有没有可能挑战C++的地位呢🤔
是的
--
👇
wrx1239: 万事皆有可能
--
👇
Youziw: Rust有没有可能挑战C++的地位呢🤔
万事皆有可能
--
👇
Youziw: Rust有没有可能挑战C++的地位呢🤔
每种编程语言的兴起,都离不开它所适用的技术领域,也都曾有过高光时刻[机智]
--
👇
Youziw: Rust有没有可能挑战C++的地位呢🤔
Rust有没有可能挑战C++的地位呢🤔
那您的薪资一定不低[旺柴]
--
👇
LiuHota: C++刚转Rust,只能说很香
[机智]
--
👇
awsa2ron: 或者C工程师的第二语言也不错,借用/智能指针/生命周期等概念都需要比较清楚的堆栈知识。比较偏底层了
C++刚转Rust,只能说很香
或者C工程师的第二语言也不错,借用/智能指针/生命周期等概念都需要比较清楚的堆栈知识。比较偏底层了
薪资:提供有竞争力的薪资
福利:提供租房补贴
工作地点:北京、上海、成都
投递方式:
1.邮箱邮箱:recruit@ft.tech
2.加hr微信投递:SweeneyTodd333333