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

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

【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就会变成一种超能力。

成就一亿技术人

相关资讯

九零后程序员心塞:“30岁,月薪还没过万,是我的问题吗”

2020年有职场专家指出:四千元的月薪,在国内算是中等的薪资水平。每个月能赚到四千块,就打败了一半的国人;如果每个月能赚8000~10000,那你就能跑赢90%的国人。这几个数字是怎么得出来的?我们可以从两个方面加以推测和论证。第一,全国最

程序员的五层境界,你在哪一层?最后一层的,都是人生赢家

在我的很多文章下面,都会有一些小伙伴,留言说他迷茫,不知道后面该怎么走。刚入门的,觉得自学怎么这么难,怎么完全没有方向。工作几年的,自以为自己什么都懂了,不知道接下来应该怎么办。其实,在各个阶段,每个人都会有迷茫期。今天我们就来聊聊,一个菜

只有程序员才懂的梗,外人一脸茫然,php为何招黑?

世界好梗千千万,程序员占了一大半,一般来说,如果你不是计算机相关专业、不是程序员,这些程序员梗,不要说没听过,就算有幸听到,也会不明所以,什么意思根本看不懂。因此,假如你未来想成为一名程序员,这些梗,你一定得“精通”,并时不时的“调用”一番

程序员为什么会鄙视PHP?它是世界上最好的语言?

Because PHP is the best language ever,ever.It"s fast,very powerful,and free.这是PHP官方文档里的话,太拉仇恨了,PHP是世界上最好的语言!后来,一则著名的笑话诞生

PHP是不是宇宙第一?程序员不要再争论了!TIOBE排行榜来证明

做为一名程序员,都比较关注其使用编程语言的热度,一方面编程语言的热度决定了它拥有多大的市场,另一方面也关系到行业内程序员选择机会有多大。我们总听说某个编程语言排名第一,那么这些数据到底准不准确呢?1、PHP是不是宇宙第一?比如,我们经常会听

一些程序员常挂在嘴边:PHP是世界上最好的语言,原因是这个吗?

Bug 是一门艺术页面的背景图片前端美如画代码与啤酒更配等我喝完咖啡再写代码PHP 是世界上最好语言的原因是这个吗?程序员专属键盘程序员必备T恤学习从来不是一个人的事情,要有个相互监督的伙伴!小编这里有一个学习编程的交流圈子,想要成为优秀程

黑马程序员:PHP为何能成最抢手后端语言?

2016(第十五届)中国互联网大会于6.21-23日在北京国际会议中心召开。作为聚焦热点趋势的深度权威大会,此界互联网大会公布了下面一组数据:在刚刚过去的2015年,随着智能手机大力发展,移动互联网用户已高达6.1981亿,占整体网民比例也

PHP程序员必备的3大编程自学资源,有这些资源学编程如鱼得水!

无论自学,还是报培训班,学会PHP编程的正常速度是4—6个月。所谓的学会PHP是可以胜任PHP正式工作岗位,成功成为PHP战斗士。之前w3cschool已经分享过PHP自学、入门、进阶的方法,今天主要就给程序员小伙伴们分享三大详细的PHP学

千锋精心整理:2018年PHP程序员面试题

  无需编译,弱类型,热部署,开发快,运行稳定,运维省心,内置模板引擎,丰富的库函数,强大的哈希表(关联数组),脚本中所有量,每一个请求对应一个生命周期,几乎不存在内存泄露,这些都是PHP明显的优势。很多人也去学了PHP技术,面临找工作的你

程序员如何保护视力?医生推荐了这7个方法,看到就幸运

众所周知,与其他职业的人来相比,程序员使用电脑的时间更长更多。因此,更应该注意保护自己的眼睛,避免近视、眼睛干涩、慢性结膜炎等眼部疾病。那么,保护眼睛视力,应该怎么做呢? 广州军区广州总医院眼科主任邹玉平主任医师建议: 1、眼睛与电脑屏幕的

友情链接

天天财经元宇宙中国SEO域名抢注宝宝起名网网站监控剑南春股票网红木家具网三明今日新闻网今日朔州美腾科技股票小米手机股票甘肃旅游网濮阳新闻头条网郑州新闻资讯网潮州新闻头条网怀化今日新闻网茂名新闻爆料网副业项目网普法网运动健身资讯网scratch少儿编程福州新闻资讯网海口新闻头条网南昌头条新闻网瑞士名表官网今日菏泽商标注册查询官网通威股份A股安阳新闻头条网今日黄山意大利旅游网安徽旅游网雅安新闻头条网青岛啤酒A股九江头条新闻网
Java编程学习网-java零基础自学、java新手入门菜鸟必学、电脑编程入门自学、java安装教程详细、java新手编程入门、前端刷题网站、java开发工程师、前端刷题小程序、java入门基础知识、java新手代码大全、编程题库网站、java程序员刷题软件、编程入门自学网站、java题库网站、java新手刷题网站。
Java编程学习网 yaliandai.cn©2022-2028版权所有