一个 Markdown 阅读器引发的思考
Thomas Ptacek(tptacek)——知名安全研究员和 HN 常客——最近写了一篇引发广泛讨论的文章。起因看似微不足道:他想要一个好用 Markdown 阅读器,在双击 .md 文件时能正常打开、支持文本搜索、能复制内容。App Store 里找不到满意的,于是他让 Claude 帮他写了一个。
结果令人惊叹:在 Claude 的帮助下,他仅用约30分钟的交互时间就构建出了一个比 App Store 上所有同类应用都更好的 Markdown 阅读器。剩下的时间?他在 Facebook 上和人争论分区规划改革,而 Claude 在后台默默生成代码。
MDV.app:不止是一个阅读器
Ptacek 创造的 MDV.app 拥有令人印象深刻的特性:SQLite FTS 全文索引用于搜索所有历史文件、快捷键书签、目录导航、跨重启的阅读位置记忆、精美的配色主题和字体排版。这些功能「现在都能正常工作,每当我点击一个 .md 文件时」。
但这个故事的重点不是让你安装 MDV。恰恰相反——Ptacek 明确说:「别安装它。像 Emacs 用户对待一个漂亮的 .emacs 配置一样,偷走这个想法,然后做一个更好的。」
什么是「软件的 Emacs 化」?
Ptacek 用了一个精妙的比喻。Emacs 社区的文化是独特的:用户用 elisp(一种「伟大而可怕」的语言)编写个人工具,从满足个人需求开始,然后不可避免地扩展到超越文本编辑器合理边界的领域。在 /r/emacs 上,你看不到 Product Hunt 式的产品发布,全是「展示与分享」。
「Emacs 化」意味着:软件变得像编辑器配置一样个性化。大多数工具只对创建者有用,然后被遗忘——就像 .emacs 文件里那些早已废弃的小程序。但偶尔,一个工具会「逃逸」出来,变得对更多人有用。
在 AI Agent 时代,你需要的不是源代码,而是提示词(prompts)。如果你的 Mac 应用的所有 SwiftUI 代码都是 Claude 写的,仔细阅读那些代码有什么意义呢?真正有价值的是那个观察到「是的,你可以做这件事,而且能做得很好」的洞见。
Electron 的末日?
Ptacek 提出了一个尖锐的观察:当下几乎所有的桌面应用都是 Electron 应用——每个应用都带着自己的一份 Chromium 副本,他甚至抱怨 Signal 的消息通知会让屏幕闪烁。Electron 不好,但「足够好」,因为真正的原生 UI 开发者太稀缺了。
但 Claude「不仅仅是替代水平的 SwiftUI 开发者」,它「实际上非常出色」。如果 AI 能够可靠地生成原生 UI,我们还需要 Electron 吗?morpheuskafka 在评论中进一步设想:「我们最终能否抛弃 Electron/React Native,让 LLM 自动将 Figma 设计稿和行为规范转化为每个平台的原生应用?」
个人软件的复兴
HN 管理员 dang 在评论中表达了强烈共鸣:「这完全正确,我一直在跟所有愿意听我说的人讲这个……软件生产现在如此容易,以至于每件事都成了一个 .emacs 文件。」
SoftTalker 则指出,这其实回到了个人计算的初心:「个人软件——即为个人需求编写的程序——是1960年代家用计算机的最初愿景。」当时人们设想每个家庭都有一个终端,编写自己需要的程序。PC 的出现意外地改变了这个轨迹,让消费软件成为主流。而现在,AI 可能让我们重新回到那个「人人都是程序员」的原始愿景。
从「构建」到「配置」
Ptacek 文章中最引人深思的问题或许是:当 AI 帮你写代码时,你说你在「构建」软件,这还准确吗?「构建」暗示了比你实际投入更多的努力。你所做的事情,感觉更像是在一个突然变得高度可配置的平台上进行 配置(configuring)。
这个观察极为深刻。如果软件开发的门槛降低到像配置 Emacs 一样——你描述你想要什么,AI 为你生成它——那么「开发者」的定义本身就需要被重新审视。我们正站在一个新时代的门槛上:编程不再是技能壁垒,而是想象力的竞赛。
🔗 原文链接:The Emacsification of Software
💬 HN 讨论:news.ycombinator.com/item?id=48118727