首页 > 名字大全 > 微信名字 正文
【周开头的英文微信名字大全】为什么Rust适合初创企业?

时间:2023-03-03 02:01:51 阅读: 评论: 作者:佚名

此文档最初发布在The Daily Edit博客上。

The Daily Edit有一个小型敏捷的团队,每周推出新产品。产生这种节奏有很多原因,但尽可能使用Rust的技术选择对你大有帮助。Rust使您能够快速自信地实现公司的任务目标。

开始这个项目的时候我们只有三个人。因为我是团队唯一的工程师,所以可以完全自由地选择语言和工具。这个理论听起来很好,其实很吓人!在机器学习方面,除了明显可以使用Python外,一切都是开放的。我厌倦了,所以必须选择Java吗?我们要因为优秀的社区而选择python吗?还是因为一切最终都是用JavaScript完成的,所以要用JavaScript完成?

所有的选择都要各种平衡,所以我一直在绕圈子。这是个简单的问题。打破了这种无限循环。什么样的选择能吸引优秀的极客,让我们频繁自信地发表内容?

这就是我们开始使用Rust的原因,即使今天的项目成熟了,它仍然是我们成长和成功的原动力。

背景

在职业生涯中,我涉猎了很多编程语言、编辑器、工具和方法。我从1994年开始玩MS-DOS中包含的QBasic和Gorillas游戏。之后不久,我学了C语言,几乎完全在UNIX平台工作。然后是C、python、PHP、ruby,当然还有JavaScript。其中一部分是为了我年轻的时候的乐趣,另一部分是为了在我十几岁20出头的时候赚钱。然后我开始开飞机,编程只是为了好玩。

2015年,我从PLT的一位朋友那里听说了Rust,开始接触它。她一直说Rust长期以来为PLT带来了第一个真正的“新”。就是生命周期语法。我对此持怀疑态度。和很多人一样,我认为C语言是最好的系统语言。因为C语言非常简单,容易推理。

直到我开始使用Rust。

我的怀疑很快消失了。我有丰富的经验和良好的意图,但我发现实际使用C语言时也会犯错误。(约翰f肯尼迪,语言)不明显的内存泄漏,解除后使用。程序很小,独立的时候没有问题,但如果你开始创建和使用库,并将指针传递给周围不透明的结构,你可能会感到困惑。)露丝特让我知道,她不是我想象中的程序员。编译器就像一个老模拟器讲师。不管做得多好,他永远都不够。我开始了“与借用检查器斗争”阶段,就像脚趾撞到角落一样,持续的疼痛、破碎的感觉。

但是这一切很快就过去了。

使用Rust花费了大约三个月的时间。光是小项目是不够的。当开始开发更复杂的系统(例如具有异步行为的分布式工作队列或具有FPGA接口的嵌入式系统)时,这很有帮助。这就像健身一样。你必须坚持才能看到效果。通过这些项目,编译器不会打扰我。而且,不管是什么项目,早期的代码组织都变得更加明确。这就是Rust。可能会令人讨厌,但真的可以引导你进入良好的结构。

但这还不是最精彩的部分。

最好的一点是,可以构建这个大而复杂的系统,编译器可以生成二进制文件。很有效,一直有效。Rust项目所需的调试工作量比我在其他地方看到的要少。标签联合体(Rust中的枚举)等功能使您能够明确指定代码的工作方式,而不侵犯代码的工作方式。这使你在部署一切时有信心。然后对所有项目进行定期更新和维护。一般来说,新入职的工程师需要研究以前没有见过的代码。鲁斯特提供护栏。如果以意想不到的方式与现有代码交互,编译器会通知您。

吸引人才

Rust已经进入大众使用阶段,有多少文章在称赞它,几乎有多少文章在揭露它的缺点。这是个好信号,这意味着它正在被使用。我喜欢Rust并不奇怪,但是其他工程师呢?我们选择比较小众的语言Rust时,最关心的一个问题是人才库的规模可能太小。问题是真正的世界级人才有兴趣使用什么工具来实现什么想法。

是时候试试水了。我们联系了This Week in Rust通信,发布了我们的招聘信息。我们是偏远地区的公司,对工程师住的地方不感兴趣。幸运的是,来自Twitter的Jack Dorsey在Twitter上说:“Rust是一种完美的编程语言。”

接下来的八周,我收到了近4000名申请者的电子邮件。四千人!很多人实际上根本没有Rust开发经验。好的。他们只是对这个想法感兴趣。我们得知自己有一支世界级的工程队,真的很高兴和高兴。

我们对Rust人才库的担心是多余的。那是一种能吸引经验丰富的程序员的语言。

工作

搞定

只要可以,我们都使用 Rust。现在,我们的 Web 后端是用 Rust 构建的,我们的后台任务处理器也是 Rust 的,我们分析引擎的调度器呢?你猜对了,还是 Rust。我们唯一不使用 Rust 的地方是在 Rust 生态系统中缺少相关库的时候。还有移动应用,我们使用 Flutter。

经常有人说,Rust 的缺点之一是语法相当繁琐,编写和阅读都非常耗时。其中有一些说法是符合实际的(它比 Python 要啰嗦得多),但很多都是夸大其词。例如,在我们的整个代码库中,手动标注生命周期的次数还不到十次。它在应用程序代码中并不经常出现。

对于 Rust 来说,前期需要做的工作更多。确实,编译器有大量的约束条件要你遵守。然而,这种认知开销,以及实际编写代码所需的时间,会随着经验的一点点积累而迅速减少。只要短短几周的时间,当创业公司在这段时间里经历过无数变化之后,需要做的工作就会减少,而且少很多。我们的团队都认为,阅读 Rust 代码比许多其他语言都简单。没有任何疑问或模棱两可的地方,通过阅读就能清楚地知道程序要做什么。

我们有一个规模非常小的天才工程师团队,代码迭代的速度很快。有了 Rust,我们决定重写整个复杂的模块,并有信心保证它在编译后可以正常工作。有时候,我们也会犯逻辑上的错误,或者对问题的理解不太正确,没有任何一种语言可以避免这种情况,但对于其他每一项需要投入生产应用的东西,Rust 让我们做得更快。

使用 Rust,只要很少的工程师,你们就可以走得很远。

性能

关于 Rust 的任何文章如果没有这一条,都是不完整的,但这也是众所周知的,所以我将长话短说。Rust 速度很快。如果你只是偶尔使用‘clone’或‘Arc’,那么人们所写的关于生命周期的大部分痛苦就会消失,你猜怎么着,它仍然比 Python、Ruby、JavaScript 和 Java 快几个数量级。然后,如果真的要榨取最后一滴性能,那么你可以编写复杂的生命周期。轻松就能写出一些真正拥有出色性能的东西,真是让人高兴。但要知道,其性能的上限比这要高。

这和创业有什么关系呢?高性能意味着使用的服务器少,服务器少意味着运营开销小。作为一家初创公司,如果一开始就把钱花在只能支持每秒几百个请求的服务器上,那么你走不了多远。

通常,人们会这样反驳我:“工程师的时间比电脑的时间更昂贵”,是这样的。但与使用其他语言相比,你并不需要付出更多的工程师时间,而当你实际运行程序时,开销却更低。

很快就能收回成本。

你的初创公司应该使用 Rust 吗?

我不是创业顾问。

我在本文开头写道,为初创公司选择一种语言可能会令人生畏,尤其是当你认为最适合的语言有点小众而且比较年轻的时候。从目前使用 Rust 的经验来看,我们团队不想使用其他任何东西。Rust 可能很难学,但投资回报也极大。

在经验丰富的团队手中,Rust 就像是一种超能力。

在下一篇文章中,我们将讨论使用 Rust 的一些缺点。

查看英文原文:Why Rust is a great choice for startups

  • 评论列表

发表评论: