Emacs 五十周年:从 MIT 机房到自由软件运动,一个编辑器如何活过半个世纪

原创
alex 59分钟前 阅读数 1 #头条

Emacs 五十周年:从 MIT 机房到自由软件运动,一个编辑器如何活过半个世纪

从 TECO 到 EMACS:键盘上的编辑器革命

1976 年,EMACS 在 MIT 人工智能实验室的早期视频终端上首次运行,但它的出现不是凭空冒出来的。往前推十四年,Dan Murphy '65 为 PDP-1 计算机编写了 TECO,最初全称是“Tape Editor and Corrector”。这个编辑器的命令全是大写字母:输入 “I” 插入文本,输入 “D” 删除字符。那个年代的程序员要面对的东西,今天的人很难想象——ENIAC 的六位女性程序员根本不用写代码,她们直接配置开关、电缆和插线板;后来的 Whirlwind 靠纸带穿孔把程序送进内存;再往后是 IBM 打孔卡片,一张卡片一行代码 来源:TR。

等到 1960 年代初,交互式计算机的用户可以用“行编辑器”在电传打字机上敲代码。那种机器噪音很大,一行一行地输入,存到一块像洗衣机那么大的旋转硬盘上。问题在于,你永远没法在屏幕上同时看到多行代码。1971 年秋天,Carl Mikkelsen '76 给 TECO 写了 Control-R 插件,利用带视频显示的“玻璃电传打字机”,修改的文件能立刻显示在屏幕上,程序员不用再每改一行就重新打印一遍。这个突破打破了“逐行编辑”的范式,全屏文本编辑器的基本形态就这样定下来了,至今仍是主流 来源:TR。

EMACS 在接下来的五十年里被移植到大量操作系统。苹果甚至把它随 Mac OS X 一并分发,可见影响力早就越过了学术圈边界。从纸带打孔到云端开发,它见证了人机交互最剧烈的范式转换 来源:TR。

一个编辑器如何孵化出自由软件运动与 GNU/Linux

EMACS 的核心设计者理查德·斯托曼当时正在 MIT 人工智能实验室工作。围绕这个编辑器形成的软件共享社区,直接催生了现代自由软件运动和 GNU/Linux 操作系统。一个工具重塑整个生态,这种事在技术史上并不多见。斯托曼后来把 EMACS 作为 GNU 项目首批核心组件之一,它成了自由软件理念的实践载体 来源:TR。

为什么是 EMACS 孵化了这场运动,而不是别的工具?关键在“可扩展性”。EMACS 允许用户通过 Lisp 语言无限扩展自身功能,这种元编程理念在 1970 年代堪称超前。程序员不只是使用一个编辑器,而是能在里面搭建自己的工作环境。与它同时代的行编辑器早已消失,EMACS 却靠着用户自主性活过了五十年。从 1976 年至今,它历经迭代仍在广泛使用,寿命远超绝大多数软件产品 来源:TR。

斯托曼做 EMACS 的出发点很简单:他在 MIT 实验室用惯了共享代码的环境,看到厂商开始把软件变成闭源商品,觉得不能接受。于是他在 1983 年发起了 GNU 项目,目标是把一套完整的自由操作系统还给用户。EMACS 是这个项目的第一批核心组件,而 GNU/Linux 最终成了那个操作系统的内核加壳。一个编辑器孵化出一场运动,再孵化出一个操作系统,这个链条到今天也没断 来源:TR。

反直觉观察:一个 50 岁编辑器为何至今无人能彻底取代

现代 IDE 的功能远超 EMACS——VS Code 有智能补全、调试集成、Git 面板,JetBrains 系列更是把重构工具做到极致。但 EMACS 仍然拥有忠实用户群。这说明决定软件寿命的不只是功能多寡,还有工具生态和社区文化。一个人用 EMACS,不只是用编辑器,而是加入了一个持续了五十年的对话。我见过有人用 Spacemacs 配出堪比 IDE 的环境,也见过有人只用它写 org-mode 笔记。这种多样性恰恰是 EMACS 的生命力所在 来源:TR。

苹果把 EMACS 随 Mac OS X 分发这件事颇具反讽意味。一个来自自由软件社区的编辑器被商业巨头采用,而它所属的社区又反向推动了 GNU/Linux,后者恰恰是 macOS 在市场上的竞争对手。这种张力说明 EMACS 的生态不是封闭的,它既能被商业系统吸纳,又能支撑起对抗商业系统的运动。五十年过去,这个编辑器还没死,而它催生的自由软件理念反而成了整个软件行业绕不开的议题 来源:TR。

斯托曼当年做 EMACS 时可能没想过它会活到五十岁。但今天回看,真正让它活下去的,是它把“用户能修改工具本身”这件事变成了默认原则。这个原则比任何具体功能都更长久——只要还有人在 Lisp 里写新的扩展,EMACS 就还没到尽头 来源:TR。


原文:

Emacs Turns 50 · 来源:Hacker News

作者:itfan123 值班编辑 · 发布于 2026年10月28日

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除