欧易

欧易(OKX)

国内用户最喜爱的合约交易所

火币

火币(HTX )

全球知名的比特币交易所

币安

币安(Binance)

全球用户最多的交易所

Rust,程序员创业的最佳选择?

时间:2022-10-10 19:15:15 | 浏览:343

【CSDN 编者按】原声明:本文为 CSDN 翻译,转载请注明来源。译者 | 弯月 责编 | 彭慧中出品 | CSDN(ID:CSDNnews)我们是一支短小精悍的团队,每周都会发布一些新东西。虽然我们如此高效的原因有很多,但其中之一便是我

【CSDN 编者按】

声明:本文为 CSDN 翻译,转载请注明来源。

译者 | 弯月 责编 | 彭慧中

出品 | CSDN(ID:CSDNnews)

我们是一支短小精悍的团队,每周都会发布一些新东西。虽然我们如此高效的原因有很多,但其中之一便是我们在技术上的选择给予了很大的帮助。我们会尽可能使用Rust,因为这种编程语言能够让我们快速而自信地完成公司的使命。

想当初,这个项目刚启动的时候,我们只有三个成员。我是团队中唯一的工程师,因此我可以自由地选择语言和工具。虽然听起来很不错,但其实我的压力很大。除了机器学习部分明显应该选择Python之外,其他一切都悬而未决。我们应该选择平庸的Java?还是应该选择拥有强大社区的Python?还是应该使用JavaScript,因为这种语言几乎可以编写一切软件?

每个备选项都有一定的利弊,所以我一直在原地打转。打破无限循环的是一个简单的问题:选择哪种编程语言会吸引优秀的人才,让我们更自信、更频繁地发布产品?

于是,我们选择了Rust,如今虽然我们的项目已走向成熟,但Rust仍然是我们成长和成功的驱动力。

背景介绍

在职业生涯的发展过程中,我曾涉足过很多编程语言、编辑器、工具以及方法论。1994年,我开始尝试QBasic和MS-DOS自带的游戏Gorillas。后来很快接触到C,并开始在Unix平台上工作。后来又陆续学习了 C++、Python、PHP、Ruby,当然还有 JavaScript。其中一些只是为了好玩,尤其是在年轻的时候,喜欢尝试各种编程语言。

2015年,我听说了Rust,然后开始尝试。朋友一直说Rust的语法非常出色,但我表示怀疑,因为我像许多其他人一样,认为C才是最好的系统语言,因为它是如此简单和易于推理。

直到我开始使用 Rust。

很快我的怀疑就消失了,实际上我在使用C语言的时候犯了很多错误,比如内存泄漏、内存释放之后再使用等,当用C语言构建小程序的时候,感觉不到太大问题,但是当你开始使用库,将指针传递给其他黑盒子时,一切都会变得混乱起来。Rust让我认识到,我的编程水平并没有想象中那么高。编译器就像一个顽固的模拟器教练,无论你做得多么好,都得不到它的认可。我在“borrow checker”的阶段陷入了苦战,就好像脚趾踢到了墙角,痛彻心肺。

但这种感觉很快就过去了。

我前后花了大约3个月的时候,就适应了Rust。后来,我开始使用Rust编写更复杂的系统,例如具有异步行为的分布式作业队列,与 FPGA 接口的嵌入式系统,逐渐地我开始感受到Rust的强大之处。使用Rust就像健身一样,你必须勤加努力才能感受到效果。在这些项目之后,我并没有遇到太多烦人的编译器,而且代码的组织在任何项目的早期就能看得很清晰。这就是Rust,虽然有点不讨喜,但确实能帮助你构建优秀的架构。

但Rust最大的优势还不在于此。

最大的优势是,在构建庞大而复杂的系统,同时顺利通过编译器后,得到的二进制文件就能正常工作,而且能保证一直正常。Rust项目所需的调试量比我在其他任何地方看到的要少一个数量级。你可以使用带有标记的联合体(Rust 的枚举)之类的功能,编写清晰的代码。这让我对部署的信心大增。其次,任何项目都有定期的更改和维护。通常,新进公司的工程师都需要花费大量时间,深入研究代码。然而,熟悉Rust的代码非常容易,如果新来的工程师以奇怪的方式修改现有代码,编译器就会指出来。

吸引人才

如今Rust的发展已步入全盛时期,很多博客文章都点名表扬,当然也有很多博客文章揭露了它的缺点。这是一个很好的现象,这意味着使用Rust的人很多。虽然我很喜欢Rust,但其他工程师呢?我们选择Rust这样相对小众的语言,最大的忧虑在于人才库的规模可能太小。世界顶级的人才他们如何看待Rust,他们会选用哪种工具?

这个问题就像小马过河,需要亲身实践。于是,我们联系了Rust的新闻邮件,并发布了招聘启事。我们是一家远程办公的公司,我们不在乎工程师选择住在哪里。幸运的是,Jack Dorsey在推特上写道:“Rust 是一种完美的编程语言”。

在接下来的八周里,我收到了近四千名申请人的电子邮件。四千!其实,很多人并没有Rust的经验,只不过他们都对Rust感兴趣。突然之间,我感觉自己拥有一支世界级的工程团队。

看来我们对 Rust 人才库的担忧是不必要的。这是一种对程序员有很大吸引力的编程语言。

实际使用Rust

我们决定尽可能在一切地方使用Rust。现在我们的 Web 后端是用 Rust 构建的,后台任务处理器也是用Rust编写的,就连分析引擎的调度程序也是Rust。但有些地方没有使用Rust,因为这些领域有很多伟大的库,但Rust生态系统尚不存在。还有移动应用,我们使用的是Flutter。

人们常说,Rust 的缺点之一是语法过于冗长,阅读和编写都需要很长时间。这话虽然没错,但有一些也不过是夸大其词。例如,在我们的整个代码库中,手动写注释的情况也就十几次。这种情况在应用程序代码中并不常见。

使用Rust,前期的准备工作更多。你需要克服编译器的一堆约束。然而,虽然经验的增加,编写代码的速度会越来越快。我们在短短几周的时间里,就取得了很大进步,工作的速度也越来越快。我们团队一致认为理解Rust代码的难度远低于许多其他语言。Rust代码中的疑惑与模糊性很少,只需阅读代码,你就能确切地知道程序将要做什么。

我们的工程师团队非常给力,代码的迭代速度非常快。我们决定使用Rust代码重新编写一个完整又复杂的模块,而且我们确信通过编译后就能正常工作。有时我们的逻辑会出错,或者我们对问题的理解不完全正确,但这些是无论使用何种语言都会遇到的问题,但如果是需要投入生产的任务,则使用Rust可以让我们更快地完成工作。

使用Rust编写代码,不仅需要的工程师更少,而且发展更为长远。

性能

Rust的速度非常快,甚至比Python、Ruby、JavaScript 和 Java 快几个数量级。

对于创业公司而言,高性能意味着所需的服务器更少,相应的运营开销也更低。作为一家创业公司,如果你需要花钱构建每秒只能支持几百个请求的Web服务器,那么很快你的资金就会枯竭。

也许有人会反驳说,“工程师时间比计算机时间更珍贵”,话虽没错,但使用Rust还可以节省工程师的时间,一举两得何乐而不为。

创业公司是否都应该使用Rust?

我不是创业公司的顾问。

正如本文开头的介绍,为创业公司选择编程语言的压力很大,尤其是选择一种相对比较小众的新语言,我也是诚惶诚恐。不过,根据迄今为止使用 Rust 的经验来看,我们不想再尝试其他任何语言。虽然Rust的入门有点难度,但回报也非常丰厚。

而在经验丰富的团队手中,Rust就会变成一种超能力。

成就一亿技术人

相关资讯

程序员的日常丨你眼中的“程序员”是什么样子?别再被谣言误导了

在很多人眼里,程序员是一类高薪、“高危” 的职业。 他们穿着格子衫、顶着一碗超帅的光头,能修电脑、能黑网站、简直无所不能。 。 。但直到我自己当上程序员,才发现其实很多人都是对程序员的误解。除了外行的误解外,还有很多来自于程序员同行的误解。

程序员的日常:当一名程序员到底有多难?

多少次熬夜加班, 直至见到凌晨四点的太阳;多少个早晨洗漱的时候, 看到洗脸盆掉的全是头发;整天coding, debugging, 设计, 画图, 文档, 会议, 演示......看似充实饱和的工作, 又夹杂了多少苦涩与无奈; 程序员其实很

普通程序员与高级程序员的差别在哪?

同样都是敲代码,为什么别人一个月工资五万,你一个月却只拿五千?是单纯在找工作的时候运气不佳?还是因为技术水平有差别?那些被大众膜拜信仰的技术大神到底牛在哪里,现状已定,普通程序员是否还有机会逆袭?看完这篇文章,或许你能从中找到答案。从思维和

程序员是否可以作为终身从事的职业,以及程序员该何时考虑转岗

首先,当前程序员职业确实存在职业生命周期偏短的问题,原因是多方面的,包括工作量大、工作周期长、技术迭代速度快、岗位竞争压力大等因素,但是当前不少技术团队中,也有很多70后、80后的程序员,而且随着人工智能等技术的发展,以及IT互联网行业产业

“程序员图鉴”刷屏真实的程序员生活是怎样的?

中国码农千千万,北上深杭一大半。虽然所有的程序员都有着相似的气质,几乎每个人衣橱里都有差不多款式的牛仔裤、旅游鞋、格子衬衫,无论男女都有至少一个双肩包,但一方水土养一方人,每个地方的程序员都可以从茫茫人海中找到"老乡"。比如,北京的程序员大

程序员是吃青春饭的?一张图道尽程序员的发展方向

进入一个行业,开始一份工作,不论在最初的时候,你是因为喜欢还是被动接受,或多或少的都会成为你一段时间内为之奋斗的事业。边工作边迷茫也许是大多数人的常态,觉得这份工作不适合自己,可又不知道应该去做什么;喜欢着自己的工作,却又不知道怎么进一步提

程序员平均年薪70万、40岁后收入下滑?尽在2019程序员薪资报告

整理 | 刘静出品 | CSDN(ID:CSDNnews)学位高就能够拿高薪?我们的薪资与全球其他国家或地区的同行相比中间有多大的差距?Hired 近日发布的 《2019 年度薪酬状况报告》 解答了技术者们的诸多疑问。该报告聚焦于全球 13

程序员在21世纪如此吃香,那么怎么才能成为一名程序员呢?

程序员是21世纪比较吃香的工作。程序员工资高还不需要和复杂的社会打交道。那么怎么成为一名程序员?当程序员需要学什么?怎么成为一名程序员?【有明确的职场定位】怎么成为一名程序员?程序员也分为很多种,使用的软件和工作范围也不同。想当程序员,就要

程序员因工资低拒绝offer,HR:估计你一辈子就是个程序员

在职场中,我们应该追寻一种平等关系,也就是说公司看中求职者的能力,求职者希望公司给予自己满意的薪资和发展空间。因此,面试是选择和被选择的关系,拒绝和接受都是很正常的事情,而非一方的强人所难或是“王婆卖瓜”行为。近日,一名程序员在求职过程中由

程序员月入好几万?7年老程序员告诉你真实的情况

从业一开始,加班就是常态很多人都说这个程序员的工资比较高,其实这种背后的心酸,其实很少人知道。就拿我来说吧其实我工作了有七八年,记得刚工作那个时候,天天加班的话,就是白天睡觉,晚上加班,当时其实也没什么经验,就是只是凑人数嘛。当时我们项目经

学什么专业才能成为程序员?其实成为程序员,远不止计科和软工

在目前互联网行业,计算机领域都离不开编程,程序员也受市场的大量需求,而且目前程序员的薪酬普遍很可观,在北上广深等一线城市,程序员的薪酬基本都是上万,两三万一月的都有的是,甚至很多都直接讲年薪,程序员在目前还是比较吃香的职的业。那么我们学怎样

程序员分成五类,你是否是“完美型”程序员?不是但想是

程序有问题时不要担心。如果所有东西都没问题,你就失业了在我的编程生涯中,我碰到过很多奇奇怪怪的对手和同盟。我把这些编码战士们分成五类,有些人是你队伍中的好伙伴,有些人则是捣蛋者,让你的每一个计划都完不成。不管怎么说,他们在软件开发的诸神殿上

程序员必看:程序员到底可以分为几种?你又是哪一种呢?

不是每一个写代码的都是程序员。这里,我把程序员定义为以编程为生的人。我认为世界上存在四类程序员:科学家、码农、专家和工匠。下面我一一介绍自己的观点。科学家,与其说他们是程序员,不如说他们是数学家。他们发明了各种理论、算法和术语,教科书上那深

程序员年薪高达40万,为什么还有很多程序员单身,你知道原因吗?

网友一:我曾经招过的学生,后来进入了BAT的,各电商平台的,创业公司技术总监等等,现在很大部分都年薪都在30~40万,而且单身不少。因为我对他们比较熟悉,这里说说我的看法。单身的主要原因:1.工作忙碌,没时间谈恋爱。达到40万年薪的程序员工

为什么很多人不喜欢做程序员?甚至讨厌程序员?

要想成长为一名优秀的程序员,其过程是艰巨的,其道路是漫长的。不经过悉心栽培,花儿开不出鲜艳的花朵;不经过时间的历练,幼苗长不成参天大树。在软件行业更是如此。程序员必须具备的性格特点最基本的要求是能自主地编程。只有在经过多年的学习实践之后,我

友情链接

网址导航 SEO域名抢注宝宝起名网妈妈知道币圈周六福珠宝电脑组装教程网山东旅游网武汉新闻头条网生肖鼠运势网黄骨鱼养殖韦尔股份A股萧邦腕表之家千里达自行车免费算姻缘网铜金属期货网梧州新闻资讯网香港太平山顶河南旅游网宝宝巴士故事网
Java编程学习网-java零基础自学、java新手入门菜鸟必学、电脑编程入门自学、java安装教程详细、java新手编程入门、前端刷题网站、java开发工程师、前端刷题小程序、java入门基础知识、java新手代码大全、编程题库网站、java程序员刷题软件、编程入门自学网站、java题库网站、java新手刷题网站。
Java编程学习网 yaliandai.cn ©2022-2028版权所有