从C#全面转向至Rust:爽飞了
作者 | Alexander Sidorov
译者 | 核子可乐
策划 | 钰莹众所周知,Rust 社区对这门语言的热情极高,甚至有批评声音认为这种喜爱已经转变成了“病毒般”的狂热。但我一点不后悔,而且打算用这篇文章证明 Rust 如何让我成为更好的工程师、更好的管理者,甚至是更好的人。
背景介绍我之前做过十多年的 C# 开发。表面上看,远在 Rust 没出现之前,我已经把工作做得很漂亮了:曾经领导团队成功完成项目,并利用.NET 前沿功能构建软件。但在内心深处,我一直对自己的表现不太满意。跟很多朋友一样,我也有种“名不副实”的焦虑感。但不知何故,这种感觉在我转向 Rust 之后就消失了。如同魔法一般,我还一并找回了自己对软件开发的热爱。
我的迁移历程我一直经营着一家金融科技公司。业务开展得还算顺利,但我们始终在寻求更大的发展空间。考虑到目前正在开发的高负载、延迟敏感软件,用 Rust 来实现部分功能已经成了最符合长期利益的选择。另外,转向 Rust 也将得到开发人员的支持,公司内关注 Rust 的工程师越来越多。所以大约在两年前(async/await 支持趋于稳定后),我们组建起了第一支 Rust 开发团队。
最初,我们并不打算从 C# 全面转向 Rust。不过探索一旦开启,整体趋势逐渐开始变得不可阻挡。越来越多的开发人员要求加入 Rust 团队,而粗暴拒绝显然会影响到大家的工作积极性。因此,我们承诺将绝大多数软件逐步迁移至 Rust。在如今 Rust 已经大获成功的背景下,这样的判断似乎顺理成章。但在两年之前,从企业经营者的角度来看,这绝对是个非常大胆、甚至冒进的决定。
而促成这番转变的一大关键,源自我们的公司结构。我们主要是借助外包合作伙伴的力量开发自有产品,也就是市场上的甲方。如果身为乙方,我们不可能说服那么多客户承担语言转换的风险。
我承认,我有赌的成分。但好在完成语言迁移后不久,Rust 开始迎来全面腾飞。从那时起,唯一困扰我们的问题就是人才储备不足。
但即便如此,这个问题对我们来说也不算是坏事。以往针对主流语言进行招聘时,我们总想着找一位经验丰富的工程师,确保上手就能干活、顺畅对接需求。现在想想,这是种既自私又傲慢的招聘心理。由于刚刚完成语言转换后,市场上根本找不到经验足够丰富的 Rust 开发者,所以我们只能以更加开放的心态投资于人,为他们提供内部训练和发展的机会。这改善了公司的整体文化,也让团队更加平衡。所以即使目前 Rust 开发者不再严重短缺,我们也仍然沿用了这种方法。
在跟公司里的其他同事讨论这场 Rust 革命时,他们常会问我,Rust 团队的开发进度是不是比 C# 慢。这是个常见问题,我也非常理解大家背后的担忧,毕竟 Rust 是一种低级语言,要求开发者手动完成 C# 等高级语言可以自动执行的任务。但我们并没有发现开发效率出现过明显下降。再加上 C# 本身就是一种非常出色的语言,所以这样的结果的确令人意外。
虽然我在用 C# 时也遇上过不少问题,但现在的 C# 仍称得上复杂后端软件领域的最佳编程语言之一:相当快、跨平台,而且具备清晰的语法和现代特性。我甚至觉得 C# 就没有特别突出的短板:Python 在生产环境中运行速度很慢,糟糕的类型机制会提高维护难度;C/C++ 的开发速度太慢,而且经常意外搞出内存泄漏(就算是最优秀的开发者也难以彻底避免);Swift 太过小众……非要说另一款同样出色的语言,那我投 Kotlin 一票,前提是大家已经融入了 Java 生态系统。
C# 确实表现得很好,所以我们转换到较低级别的语言、开发进程却并没有显著放缓,就更显得难能可贵。另外,在开发真正复杂的软件时,工程师们往往需要长达一年时间才能熟悉现有代码库,所以最重要的就是保持开发队伍的稳定。这要求企业尽可能提高从业工程师的满意度,Rust 从这个角度让我们变得更好。
总 结我不打算深入讨论太多技术细节,本文主要是从工程师和整个公司的角度,分享一点大家不太关注、甚至没有想过的 Rust 独特优势。
总的来说,转向 Rust 带来了非常积极的体验:一切都以完美的方式结合了起来。虽然不能说所有进步都是 Rust 自己的功劳,但它也绝对是其中至关重要的因素之一。
希望这篇文章没有冒犯到其他语言的支持者。我们只是找到了最适合自己的方法,而软件编程的正确方法绝对不只一种:毕竟“魔鬼在于细节”,每种语言都有最适合自己的施展空间。
原文链接:
https://medium.com/@siberianguy/an-almost-religious-case-for-rust-e4c4764acd8d
今日荐文点击下方图片即可阅读
破天荒!Netflix 为软件工程师引入细分职级,已有不少老员工因对新职级不满离职
你也「在看」吗? ??
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。 项目经理在线