找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4010

积分

0

好友

532

主题
发表于 2 小时前 | 查看: 3| 回复: 0

打开 Word,随手打几个字,噗,一条红色波浪线就冒出来了。

这玩意几乎是你用电脑以来最早认识的“界面元素”之一。比右键菜单还早,比工具栏还早。你可能从小学微机课就见过它,一直到今天。

但你有没有想过一个问题:这条线,是谁画上去的?

不是系统自动就有的,也不是哪个版本的 Windows 升级带来的。它是一个叫 Tony Krueger 的程序员,在 1995 年,亲手写进 Word 里的。

上周,微软的 Raymond Chen 在他写了二十多年的博客 The Old New Thing 上发了一篇悼文。标题翻译过来就是:纪念那个在文字下面画红绿波浪线的人。

Tony 走了。

说回这条红色波浪线的故事。

1995 年之前,Word 是有拼写检查的。但那时候的拼写检查跟现在完全不一样。你得自己点一个按钮,然后整个程序停下来,从头到尾扫一遍你的文档,把每个可疑的词挑出来问你一遍。

这个过程你没法干别的事。就像你正在写东西,突然有人把你的键盘抢走说:“等等,我先检查一下你前面写的。”

结果大部分人的反应就是:关了,不检查了。

微软也知道这个问题。后来加了一个“自动拼写检查”功能,趁你不打字的时候在后台跑。但这个功能有个毛病——它总是在你最不想被打断的时候跳出来。你刚准备保存退出,它蹦出来了:“等一下,我还没检查完。”

烦。

然后 Tony 出手了。

Tony 从 Word 1.0 就开始写代码了。1.0、1.1、2.0,然后是 Word for OS/2、Word for Mac,再回到 Word 6.0。Raymond Chen 说,他大概是“发布过最多版本 Word”的人。

他的做法很聪明。他注意到一件事:你打字的时候,CPU 其实大部分时间是闲着的。你敲一个键,CPU 处理完只用几微秒,然后就在那等你敲下一个键。这段等待时间在程序里叫 idle loop,空闲循环。

Tony 就把拼写检查塞进了这些空闲间隙里。你打字的间隙,它悄悄检查;你一停下来喘口气,它就趁机多扫几个词。

Tony 的天才设计,把拼写检查藏进击键间隙

关键是,它不再打断你了。发现了拼写错误也不弹窗、不暂停,就是默默在那个词下面画一条红色的波浪线。

为什么是波浪线?为什么是红色?

这也有讲究。最早他们试过普通的红色下划线。但问题来了:用户自己也会给文字加下划线啊。如果文字本身又是红色的,你根本分不清这条线是你加的还是系统加的。

最后团队里一个叫 Randy Winjum 的设计师想出了波浪线的方案。灵感来自传统校对员在手稿上做的标记。

从传统校对员的红色手写标记到屏幕上的波浪线

这个设计太妙了。你永远不会在正式文档里手动加一条红色波浪线,所以你一看到它就知道:这不是你写的,是拼写检查在提醒你。

不抢你的注意力,但你需要的时候它就在那儿。

这个功能跟着 Office 95 在 1995 年 8 月发布。当时整个 Office 团队不到 20 个工程师。

Tony 后来听说了一件挺有意思的事。他有个同事去看 Penn and Teller 的魔术喜剧演出,演完之后跑到后台说:能不能帮我给一个朋友签个名?他是做 Word 里红绿波浪线的那个人。

Penn Jillette 一听,用他那标志性的大嗓门在整个剧场里喊了一句:“红绿波浪线?我爱红绿波浪线!”

Teller 在旁边沉默地点了点头。

Tony 收到那张签名照的时候,同事说不清楚他到底更开心收到了偶像的签名,还是更开心偶像喜欢他做的功能。

今年是 2026 年。红色波浪线 31 岁了。

你在 Google Docs 里打字,有红色波浪线。你在 VS Code 里写代码,有波浪线。全世界几乎每一个能打字的地方,都有 Tony 三十一年前画的那条线。

顺便说一件事。Tony 还干过另一件挺硬核的活儿:他把一个叫 Chip's Challenge 的经典游戏移植到了 Windows 上。移植的时候手里没有源代码,是自己逆向工程了 DOS 版本然后重写的。

就是这种人。你可能永远不会知道他的名字,但他做的东西你每天都在用。

下次打字的时候看到那条红色波浪线,可以在心里说一声:谢了,Tony。

如果你也喜欢这样的技术故事,欢迎来 云栈社区 与更多开发者一起聊聊那些藏在界面背后的传奇。




上一篇:板子没有串口?U-Boot NetConsole 与 Kernel NetConsole 详解
下一篇:AI审计系统公开挑战:14个开源项目检出11个零权限RCE,悬赏三万元求证伪
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-6-25 05:21 , Processed in 0.712009 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表