你这个周末打算做什么?

Lobsters Hottest 新闻

摘要

一位开发者分享了他这个周末的项目,即构建一种编译为WebAssembly的低级中缀语言,并提供了从上下文自动补全到前沿模型等AI编码工具的个人排名。

<p>请随意分享你计划在这个周末做什么,甚至寻求帮助或反馈。</p> <p>请记住,什么事都不做也是完全可以的!</p>
查看原文
查看缓存全文

缓存时间: 2026/06/20 14:34

# 这个周末你在做什么? 来源:https://lobste.rs/s/wemk3j/what_are_you_doing_this_weekend **愚蠢的 WebAssembly 小把戏。**我在摆弄 WebAssembly(以及 WebAssembly GC)。结果发现这是一个*古怪*的编译目标,部分原因在于它是哈佛架构(代码位于独立的存储空间),部分原因在于它需要多个栈(一个托管栈用于参数和返回值,外加一个手动构建的栈用于非托管内容),再加上新的 GC 支持引入了*另一个*不透明的托管堆。 这些其实并没有让它比“真正的”处理器更糟糕,但确实让它与众不同。 我开始时尝试了来自 MIT 的一些古老的 Lisp 技巧,包括一个基于 S 表达式的宏汇编器,配合 Lisp 宏使用。这有那么一阵子还挺有趣——我可以把`%while`和`%inc`这样的东西加进 WAT——但手动编写依然很繁琐。特别是,不断写`\(global.get NAME\)`、`\(local.get NAME\)`、`\(i32.const VALUE\)`,要是不滥用读取器宏,就很难进行修补。 于是我改用 Rust 重写(https://github.com/emk/toy-wasm-lisp),目标是构建一个真正的符号表。而且,嗯,还要构建一种比 AssemblyScript 更贴近 WASM 的低级中缀语言。目前我正在尝试让`sum`中的参数引用正常工作: `` func sum(a: i32, b: i32) -> i32 { a + b } export func f() -> i32 { 1 + 2 * 3 + sum(2, 3) } `` 因为是学习练习,也纯粹是为了好玩,我选择了最难的路。(生活中给写编译器这件事提供的借口实在不多。)我使用的唯一“AI”工具是 Zed 的 Zeta2 提供的内联自动补全,它似乎每次只限于生成少量上下文明显的代码行。 **关于 AI 辅助编码的思考。**没错,我对 Fable 的影响感到不安。以下是我对 AI 工具的评级,以及它们让我恼火的程度: 1. **上下文自动补全。**(Zed 的 Zeta2、老派 Copilot 内联补全)这是我最喜欢的位置,尤其是在 Rust 开发中。没错,给定文档字符串和参数,这个函数体是显而易见的。没错,我不需要手动输入。我仍然对这种模型相当有好感,也许有一天我会微调一个属于自己的版本。 2. **“较小”模型。**(本地 Qwen3.6 27B 直到云端 DeepSeek V4 Flash)这些模型很有趣,因为它们足够聪明,能找出 bug,或者实现一个带有清晰“自然”实现的模块。但 Qwen3.7 27B 之类的模型并不能构建特别庞大或复杂的东西。而且如果程序员跟不上思路,模型很快就会开始出错。我觉得这种大小*还行*,适合调试、编写现有接口的新实现,或者写一次性脚本。 3. **接近前沿的模型。**(Opus 4.5+、GLM 5.2 等)这些模型能够构建相当大块的代码,即使人类已经跟不上细节(或者从未理解它们)。通过持续提示,你可以用它们构建一些东西,但质量未知。我并不*喜欢*这一层级的模型,因为它们编写功能的速度比我审查的速度快。这导致我的代码审查积压越来越多,我也逐渐失去对代码库的详细认知——即使我*读过*所有代码,并在当时理解了它们,我也从未建立起那种能够让我实现真正洞察飞跃的深层持久记忆。 4. **前沿+模型。**(Fable)我只玩过 Fable 几天,但它确实让我不安。只要给出相对简单的提示和合适的工具,它就能跑去构建整个小型到中型应用程序。只不过代码确实很粗糙:缺少任何坚固的架构,一半的代码防御性地隐藏另一半代码产生的奇怪状态,等等。但它*勉强*能工作,而且看起来*还挺像回事*。 我猜测 Fable 会让软件变成“柠檬市场”,买家和用户会反复被外表光鲜但本质垃圾的软件坑害。遗憾的是,柠檬市场众所周知会赶走高质量的生产者,因为客户很难区分好坏,或者不愿为质量支付溢价。 我的意思是,就算软件和程序员市场彻底崩盘,我在业余时间仍然会为了乐趣而编程。但我原本是希望能供一两个孩子读完大学,然后退休过上比狗粮*稍稍*好一点的生活,你懂吗?我知道如何安然度过普通的、像 dotcom 泡沫那样的危机,但我担心 Fable 这样的工具会直接掏空行业。然后它们还会向其他行业下手。 总的来说,我并不喜欢。每一代都变得越来越没意思,越来越多的程序员被迫交付他们根本没有时间好好理解的代码。

相似文章

你这周在做什么?

Lobsters Hottest

一位开发者分享了可嵌入类型化语言 Ekto 的最新进展,该语言受 Lua、Koka 和 Erlang 启发,并讨论了为 Casper VM 实现引用计数、内存管理及有界续体时面临的挑战。

你这周末打算做什么?

Lobsters Hottest

一位开发者正在打磨WordJoy,这是一款关于汉字部件的挂机解谜游戏,重点改善前期体验,提供更清晰的连击反馈和更快获取更高稀有度的部件。

这个周末你打算做什么?

Lobsters Hottest

一位开发者描述了将《完美黑暗64》关卡移植到 noclip.website 的过程,强调了读取 N64 显示列表和重新实现渲染引擎的挑战。

人工智能的冒险

Lobsters Hottest

作者分享了使用多种AI编码助手(Claude Code、Codex、Pi)进行代码审查和重构的经验,发现前沿模型在捕捉细微错误方面出奇地有效,但也注意到一些工具质量较低且行为不稳定。