世界上用户最多的 编程语言 是啥?
Python?Java?JavaScript?C?
都不是,是 Excel。
全球大概 12 亿人在用微软 Office,其中 7.5 亿人在用 Excel,这人数碾压一切编程语言。
你可能会说:Excel 不就是填填表格、算算数吗,这也算编程语言?
以前确实不算,但 2021 年微软给 Excel 加了 LAMBDA,让它变成了图灵完备。
从理论上看,Excel 现在真是一门完整的编程语言了,虽然听起来有点儿"奇葩"。

当然,普通人可不管什么 LAMBDA。大家用 Excel,无非是整理数据、写公式、做图表,最后拿去汇报,这才是 Excel 的主场。
不过别看 Excel 现在风光,它当年也是从血海里杀出来的,差点就被人干掉了。
今天我们就来聊聊 Excel 的故事——这类科技考古话题在 云栈社区 的开发者广场里也常被讨论。
01 一张神奇的纸
我以前在外企,有个美国同事,从不说 PPT,只说 Slides;也从不说 Excel,只说 Spreadsheet。
我一开始觉得他装,后来才知道,人家是对的——Excel 只是电子表格的一种而已。
电子表格这玩意儿,不是微软发明的,是一个哈佛 MBA 学生拍脑袋想出来的。
1977 年,丹尼尔·布里克林在哈佛商学院读书。

教授让大家填一堆分类账目表格,预测公司收购的财务状况。
表格是淡绿色的,填起来烦得要命。格子之间互相依赖,错一个,后面全得重算。
布里克林之前写过字处理软件,他心想:这破活儿,为啥不让程序自动算?
他老师听了直翻白眼:别浪费时间了!现在 PC 都是玩具,再说填表是会计和秘书的活儿,你们 MBA 该干的是建模!
老师说得也没错。那可是 1977 年,Apple II 刚出来,上面啥正经软件都没有,确实就是个发烧友玩具。
但布里克林不信邪,拉上麻省理工一个会编程的朋友,俩人用 汇编 写出了世界上第一个电子表格软件:VisiCalc,意思是"看得见的计算"。
界面是绿色的,有人说是照着那种账目表格的颜色做的。更可能的原因是:当年 CRT 单色显示器绝大部分是绿色的。

结果这玩意儿火了,火到什么程度呢?
人们买 Apple II 的唯一理由,就是想使用上面的 VisiCalc。
绝对的"杀手级软件"!

它的意义不亚于复式记账法。有了它,商人输入数字就能立刻看到结果,不用再求数据部门,这一下子把大公司的层级结构都给打破了。
VisiCalc 这个"可以执行计算和重新计算的神奇纸张"开启了一场革命,PC 也从一个狂热爱好者的玩具,变成了正经的商业工具。
02 半路杀出个 Lotus
看到这玩意儿这么赚钱,各个公司纷纷入场。
1980 年,VisiCalc 才一岁,Sorcim 公司就推出 SuperCalc,解决了循环引用问题。1982 年,微软也出手了,搞了个 Multiplan,主打"更大的工作表"。
但都没撼动 VisiCalc,先发优势占据用户心智,还是挺厉害的。
真正把它拉下马的,是个叫卡普尔的人。
卡普尔原本依靠 VisiCalc 吃饭,专门给 VisiCalc 写插件。比如下面这两个插件,一个生成饼图,一个生成折线图。

VisiPlot

VisiTrend
当 IBM PC 这个划时代意义的产品推出时,VisiCalc 竟然没什么动作。卡普尔暗喜:机会来了。

他卖掉自己的软件,拿到 170 万美元,又拉了 130 万风投,押注 IBM PC,做出了 Lotus 1-2-3。
之所以叫 1-2-3,指的是电子表格、图形包、数据库三合一。但实际上最流行的还是电子表格。

和 VisiCalc 之于 Apple II 一样,Lotus 1-2-3 成了 IBM 兼容机上的杀手级应用。
但是 IBM 兼容机比苹果便宜多了,市场巨大。
卡普尔也是个狠人,不惜代价地推广:研发花了 100 万,营销就砸了 250 万,简直是疯子。
结果 Lotus 1-2-3 头 18 个月卖了 85 万套,直接成了电子表格新霸主。公司也一度超过微软,成了全球最大的独立软件公司。
当时人们买电脑,不说买 IBM 兼容机,也不说买 MS-DOS 兼容机,而是说:我要买能跑 Lotus 1-2-3 的机器。
PS:卡普尔后来还投资创办了 Lotus Notes,参见:世界上最厉害的协作软件,让程序员痛不欲生,最后被印度人搞走了
03 红狮酒店的密谋
微软本来已经通过 MS-DOS 控制了 PC 上的操作系统,可是却被 Lotus 1-2-3 强压一头。这搁谁都受不了。
1984 年秋天,微软四个人悄悄住进西雅图红狮酒店,关了三天。
这四个人是:Bill Gates、Doug Klunder、Jabe Blumenthal、Charles Simonyi。

三天的头脑风暴,议题只有一个:怎么弄死 Lotus 1-2-3。
Gates 先阐述了当前的严峻形势:Lotus 明年销售额预计 1.5 亿美元,已经超过我们了。
大家一听,纷纷向老大表决心:一定要做出更强的电子表格 Excel,发挥我们微软的优良传统——后来居上。
三天下来,定了两件大事。
第一,智能重算。
当时电子表格的毛病是:改一个格子里的内容,全部重算。在 PC 那可怜巴巴的 16K 内存里,运行速度太慢了。
新软件必须只计算受影响的单元格。Doug Klunder 放了句狠话:Recalc or die——做不出来就去死。

第二,放弃 DOS,押注 GUI。
Lotus 已经是 DOS 霸主,正面打不过,那就换赛道。
问题是,Windows 1.0 还要一年才出来,当时只有苹果 Macintosh 有图形界面。
Gates 拍板:先做 Mac 版 Excel。
这是个石破天惊的决定,在外人看来简直有病:让别人家孩子在自己院子撒野,却把自己孩子寄养在别人家。
这是正常的父母能干出来的事吗?
我们今天不得不佩服 Gates 的商业眼光。他从 Macintosh 身上已经意识到 GUI 才是未来,将来 Excel 对 Lotus 将会带来降维打击。
1985 年,Mac 版 Excel 发布。第一款图形化电子表格,漂亮、有下拉菜单、能用鼠标,比文本界面的 Lotus 好用太多。
Excel 开始迅猛抢占 Lotus 1-2-3 的领地。

1987 年 11 月,也就是两年以后,Windows 版 Excel 问世。
Lotus 动作太慢,迟迟上不了 Windows。1988 年,Excel 销量超过 Lotus,新霸主诞生。
领先以后,微软再也不会给竞争对手机会了。差不多每两年发个新版本,谁也追不上了。

04 施乐家的电视
很少人知道,Excel 对微软的意义到底有多大。
Excel 1.0 首席开发 Doug Klunder 说过:"当时微软把宝都押在 Excel 和 Windows 上。如果两者都失败了,微软绝不可能活到现在。"
据说微软在开发 Excel 的时候,偷学了 Macintosh 的 GUI 技术,转而用到自家的 Windows 上。这让乔布斯怒不可遏,指着 Bill Gates 大骂:我那么信任你,你却偷走我们的东西!
Bill Gates 没有愤怒以对,也没有反唇相讥,而是平静地讲了一个故事:
"史蒂夫,我理解你的愤怒。不过我们可以从另外一个角度来看问题——我们都有个有钱的邻居,叫施乐。我闯进他们家准备偷电视的时候,发现你已经把它……偷走了。"
