返回

文章详情

代理对Rust的意义(反之亦然)

Hacker News2026年10月14日 08:49

我在冷静地评估大型语言模型(LLMs)对编程语言设计(者)的影响。作为一名从事编程语言设计的职业人士,我确实对LLMs的崛起感到存在主义的恐慌。我在五年级时开始编程,使用的是一台运行在5MHz的x86电脑,硬盘不到5MB,内存512K。那时候的计算机真的很不一样。但老实说,编程并没有变化。尽管IDE和编程语言等方面取得了很大进步,输入代码到文件的基本行为却令人惊讶地保持着恒定,直到几年前,一切都变得颠倒了。这在某些时候令人兴奋和赋权,但在某些时候又让人感到害怕和迷茫。我的编程技能还有意义吗?我的编程语言设计技能(尽管微不足道)又如何?这篇博客文章是我尝试回答这些问题的努力。为了不让你们悬念,我就直接告诉你结论。简而言之,我相信人类在编程中仍然会有角色。而且,我认为编程语言设计仍然是相关的。当然,我也认为Rust非常适合代理开发——但这并不是说我们不能让它更好地适应。这篇文章最终探讨的就是:是什么造就了Rust与代理开发的良好结合,我们在哪里可以加强这些优势。这是我本周在SPLASH的REBASE上所做演讲的“博客文章伴随版本”。你可能也会喜欢我在IWACO上所做的演讲幻灯片——《IWACO与Rust:隐藏的联系揭示》,那是一个更具回顾性的演讲(不过没有配乐)。无论如何,这次会议的效果出乎意料的好!Jack Huey介绍了Rust愿景文档,而让我颇感意外的是,Steve Klabnik和Dorian Scheidt则展示了“LLMs作为语言规范与设计中的合作者”,讨论了他们在构建Rue过程中所采用的方法。再次见到Steve真是很有趣。除此之外,在IWACO上还展示了大量优秀的研究。我尤其对可达类型和信息借用的研究印象深刻。我也很喜欢了解Hylo Lang,特别是他们对投影的处理。聪明又酷。代理时代Rust的受欢迎程度来自于亚马逊最重要的Slack频道#aws-memes。Rust目前非常流行。它在新兴语言中非常受欢迎:TypeScript在图表中摘出,当前较去年增长了1200%。[..] 最近增长第二快的语言是Rust。Meta工程师今年编写的第一方Rust代码是过去9年总和的两倍。——David Tolnay(我的强调)部分原因是代理使尝试新事物变得非常简单。而且部分原因是Rust在性能方面享有盛誉,如果选择任何语言都一样简单,为什么不选择一种能够带来更快执行时间的语言呢?但是我认为Rust受欢迎还有另一个原因:因为Rust恰好非常适合代理编码。 当然,我是这样想的,不是吗?这篇文章的重点是(1)论证为什么是这样,然后(2)讨论我们可能会如何改变Rust,以使其更好地工作。 基础软件与代理的构建 在我看来,一个有效的“软件工厂”将有三个支柱:设计:明确识别并清晰说明代码应该做什么。构建:编写符合预期的代码。优化:优化代码以确保其高效运行。这些支柱中的任何一个都没有完全解决,但某些方面的进展相对较大。Rust与优化:默认快速,在需要时有旋钮 Rust的设计旨在提供“默认良好性能”,使得典型的惯用法也通常是最快的做法。但Rust的另一个关键部分是,你有调节这些旋钮的能力,以在需要时寻求更好的性能。你可以控制何时进行栈分配或堆分配,以及何时发生指针间接引用。如果你愿意,可以强制以特定方式布局你的结构,或决定何时在异步栈帧中引入装箱。在极端情况下,你可以插入内联汇编。过去,学习如何“调整性能旋钮”可能是有点神秘的黑魔法,但代理使这一过程变得简单多了。事实证明,代理在微调现有代码的性能方面非常出色。例如,以前,从事超高性能加密算法的人们通常通过手动调优汇编代码来完成这项工作。但是这些人告诉我,他们现在转向了代理来完成同样的工作。更为平常地,很多构建网络服务的人发现,使用像dial9这样的分析器,代理可以有效地诊断异步性能瓶颈,比如长轮询或阻塞。因此,我认为Rust的任务很明确。我们继续追求“足够低级”,以适应...

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

☕请我喝杯咖啡