使用Rust的几点理由,加入我们,一起学习!

非凸科技 2022-03-14 17:10:47

Rust是一门充分吸收了现代语言优秀特性,同时提供了高阶的零开销抽象能力以及面向操作系统底层的接口,注重实用、性能,安全和编程体验的语言。它值得每一个已经拥有一定编程经验的工程师去深入学习。

 

  1. 实用性

对很多工程师来说,一门语言最重要的就是实用性。如果一门工具没有了实用性,那就失去了掌握它的意义。编程语言的使用者,绝大部分都是为了解决实际问题的。

 

有人说,“Haskell的纯函数式,Ruby的一切皆对象,在我看来都是非常不实用的特性;这些纯粹的东西,除了理论上的美感,带给我们的还有什么?与之相反,Java、PHP 和 Go 就是非常务实的语言,因此它们在工程师群体内大受欢迎并且广为流行。”

 

Rust 也是一门蕴含这种设计哲学的语言。Rust 语言的 Unsafe 经常被人吐槽,很多人嘲讽说,“Rust 不是宣称安全性吗,那还提供 Unsafe 干什么?”实际上,现实世界本就是 Unsafe 的,一只蝴蝶扇动翅膀都可能引发一场飓风,一只臭虫都可能引发电路板故障;与 Unsafe 世界打交道使用 Unsafe 是很自然的事。

 

  1. 性能

在很多场景下,性能并不是至关重要的因素。但在某些场合,性能问题是 0 和 1 的问题。

 

Rust是一门注重性能的语言,我们使用的很多命令行工具就是用Rust写的,有超越同类工具的卓越性能,这是它性能最好的佐证,比如 fd, ripgrep, starship 等等。Rust 在性能方面,有着极高的上限,它完全可以胜任你对性能敏感的场合。

 

  1. 移动语义

右值和移动语义是C++11中最为重要的特性之一,可以说它深刻地改变了整个 C++。Rust 语言没有历史包袱,它默认就是移动语义,不需要你去考虑右值引用、引用折叠,完美转发这种问题,使用起来非常自然。

 

  1. 所有权、生命周期和 RAII

可能容易忽略的是,写代码本质上就是在与 CPU、内存和外设打交道。我们使用的很多语言并不直接提供对这些资源的访问方式,但是它并不意味着我们应该忽略这些资源。我们学习的任何一门技术,从上层到底层,自顶向下到最后,你一定会接触到 CPU、内存等底层资源。

 

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

 

如果你是一个有一定经验的工程师,已经能对若干门语言熟练使用,那么强烈建议你去学习一下Rust,它的很多优秀特性博采众长,你也可以从这里了解到很多其他语言的精华。当然,如果你是一门新手,那你更没习惯干扰,可以放心大胆地学习。

 

非凸科技是Rust量化先行者,追求高效和极致。我们聘请优秀的人,采用先进的技术,建立卓越的团队,成就不平凡的非凸,为量化行业带来效率价值最大化!欢迎加入非凸,为自己拼搏,也成就彼此!

 

招聘岗位:Rust开发工程师

 

岗位职责:

1.设计并开发高性能,低延时的算法交易系统,研发交易模型;

2.设计并开发策略相关回测平台,并面向量化研究团队以及客户的实际需求,开发高可用的交易工具;

3.设计并开发数据处理平台,参与交易结果分析,交易系统性能分析,进行相关数据清洗、整理及相关工作。

 

岗位要求:

1.拥有计算机科学、数学、统计学或者相关领域本科及以上学历,国内外一流大学优先;

2.熟练掌握Linux操作,能熟练使用一种或多种编程语言,Rust/C++/Java/Go/python均可;

3.具有分布式计算、自然语言处理、机器学习、平台开发、网络或者系统设计方面的经验;

4.国内外计算机/数学/物理学竞赛奖项加分;

5.对技术、软件开发和数学充满热情。

 

工作地点北京、上海、成都、新加坡

简历发送至recruit@ft.tech

微信沟通354334592

 

邮件注明姓名+岗位+来源

...全文
949 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

149

社区成员

发帖
与我相关
我的任务
社区描述
湖南大学《软件需求工程》课程教学、学习、交流社区。
需求分析规格说明书软件工程 高校 湖南省·长沙市
社区管理员
  • 老辣椒
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

软件需求工程课程教学与学习交流社区

试试用AI创作助手写篇文章吧