非凸科技2022-03-14 16:44:46点赞:0阅读:43
关注
Rust是一门充分吸收了现代语言优秀特性,同时提供了高阶的零开销抽象能力以及面向操作系统底层的接口,注重实用、性能,安全和编程体验的语言。它值得每一个已经拥有一定编程经验的工程师去深入学习。
1.实用性
对很多工程师来说,一门语言最重要的就是实用性。如果一门工具没有了实用性,那就失去了掌握它的意义。编程语言的使用者,绝大部分都是为了解决实际问题的。
有人说,“Haskell的纯函数式,Ruby的一切皆对象,在我看来都是非常不实用的特性;这些纯粹的东西,除了理论上的美感,带给我们的还有什么?与之相反,Java、PHP 和 Go 就是非常务实的语言,因此它们在工程师群体内大受欢迎并且广为流行。”
Rust 也是一门蕴含这种设计哲学的语言。Rust 语言的 Unsafe 经常被人吐槽,很多人嘲讽说,“Rust 不是宣称安全性吗,那还提供 Unsafe 干什么?”实际上,现实世界本就是 Unsafe 的,一只蝴蝶扇动翅膀都可能引发一场飓风,一只臭虫都可能引发电路板故障;与 Unsafe 世界打交道使用 Unsafe 是很自然的事。
2.性能
在很多场景下,性能并不是至关重要的因素。但在某些场合,性能问题是 0 和 1 的问题。
Rust是一门注重性能的语言,我们使用的很多命令行工具就是用Rust写的,有超越同类工具的卓越性能,这是它性能最好的佐证,比如 fd, ripgrep, starship 等等。Rust 在性能方面,有着极高的上限,它完全可以胜任你对性能敏感的场合。
3.移动语义
右值和移动语义是C++11中最为重要的特性之一,可以说它深刻地改变了整个 C++。Rust 语言没有历史包袱,它默认就是移动语义,不需要你去考虑右值引用、引用折叠,完美转发这种问题,使用起来非常自然。
4.所有权、生命周期和 RAII
可能容易忽略的是,写代码本质上就是在与 CPU、内存和外设打交道。我们使用的很多语言并不直接提供对这些资源的访问方式,但是它并不意味着我们应该忽略这些资源。我们学习的任何一门技术,从上层到底层,自顶向下到最后,你一定会接触到 CPU、内存等底层资源。
Rust的所有权、生命周期对一些人可能比较新奇,但是,它本质上就是提供了一种对内存的控制方式。而这种访问方式,给了我们一种内存安全的可能,它需要我们编写程序的时候付出更多,但是这种trade off是有价值的。
如果你是一个有一定经验的工程师,已经能对若干门语言熟练使用,那么强烈建议你去学习一下Rust,它的很多优秀特性博采众长,你也可以从这里了解到很多其他语言的精华。当然,如果你是一门新手,那你更没习惯干扰,可以放心大胆地学习。
非凸科技是Rust量化先行者,追求高效和极致。我们聘请优秀的人,采用先进的技术,建立卓越的团队,成就不平凡的非凸,为量化行业带来效率价值最大化!欢迎加入非凸,为自己拼搏,也成就彼此!
招聘岗位:Rust开发工程师
岗位职责:
1.设计并开发高性能,低延时的算法交易系统,研发交易模型;
2.设计并开发策略相关回测平台,并面向量化研究团队以及客户的实际需求,开发高可用的交易工具;
3.设计并开发数据处理平台,参与交易结果分析,交易系统性能分析,进行相关数据清洗、整理及相关工作。
岗位要求:
1.拥有计算机科学、数学、统计学或者相关领域本科及以上学历,国内外一流大学优先;
2.熟练掌握Linux操作,能熟练使用一种或多种编程语言,Rust/C++/Java/Go/python均可;
3.具有分布式计算、自然语言处理、机器学习、平台开发、网络或者系统设计方面的经验;
4.国内外计算机/数学/物理学竞赛奖项加分;
5.对技术、软件开发和数学充满热情。
工作地点:北京、上海、成都、新加坡
简历发送至:[email protected]
微信沟通:354334592
邮件注明:姓名+岗位+来源