世界上最流行的编程语言是什么?
Python? Java? JavaScript? C?
都不是,是Excel!
外媒估计,全球有12亿人使用微软的Office套件,其中估计有7.5亿人使用Excel!
可是Excel不就是能写点儿公式,做点儿计算吗, 这也是编程语言?
之前的Excel不是图灵完备的,2021年微软通过引入LAMBDA,让Excel 具备了图灵完备性,Excel 转变成一种全面的编程语言。
当然,普通用户很少用Lambda,主要是组织数据,用公式分析,做可视化,提供决策依据,这才是Excel的舞台。
别看Excel现在呼风唤雨,它也是从尸山血海中一路冲杀出来,差点儿就被人干掉。
今天我们来聊聊Excel发展的故事。
1 神奇纸张
我在外企的时候,有个国外同事,从来不说PPT,而是说Slides, 也从来Excel,而是说SpreadSheet。
刚开始我还不习惯,后来看看Excel的发展历史,才知道他是对的,Excel不过是SpreadSheet的一种。
电子表格(SpreadSheet)不是微软的发明,是哈佛学生丹尼尔·布里克林灵机一动想出来的。
1977年,丹尼尔·布里克林哈佛商学院读MBA,教授让这些MBA学生去填一些分类账目表格,用来预测公司收购的财务状况。这些淡绿色的表格填起来很烦人,表格之间的数据有依赖关系,有一处填错了,后面的都得重新计算。
曾经设计过字处理软件的布里克林立刻想到:为什么写一个电子表格程序,自动地去计算呢?
布里克林的老师则认为他是在浪费时间:你没搞错吧,现在市面上的PC都是玩具,再说了,这些填表的工作将来都是会计,秘书的活儿,你们MBA的主要工作是建模!
老师说的一点都没错,这是1977年,Apple II 才刚刚出现,上面没啥商业软件,确实是发烧友们的大玩具。
但是布里克林不信邪,他从麻省理工找了一个会编程的朋友,两人合作,用汇编写了世界上第一个电子表格软件:VisiCalc,意思是Visible Computing。
这个软件的界面是绿色的,我估计是参考了当时分类账目表格的颜色:
让所有人都没有想到的是,VisiCalc迅速成为了Apple II上的“杀手软件”,人们购买Apple II的唯一理由就是:想使用上面的VisiCalc。
VisiCalc给世界带来的变化,不亚于复式记账簿。
有了电子表格之后,商人们只需要将数字输入,就能看到输出是什么。并且在PC上运行的电子表格打破了大公司的层级结构,将权利下放给更多人,甚至不需要依赖于数据部门,自己就能搞定。
VisiCalc 这个“可以执行计算和重新计算的神奇纸张”开启了一场革命,促使PC从狂热爱好者的玩具成为了严肃的商业工具。
2 异军突起
电子表格的市场一旦开启,激烈的竞争就如约而至 。
1980年,VisCalc仅仅问世一年以后,Sorcim公司发布了SuperCalc,解决了单元格之间循环引用的问题。
1982年,微软正式出手,推出了自家的电子表格程序Multiplan,提供了“更大的工作表”以及其他改进。
但它们都无法撼动先行者VisiCalc的地位,因为“一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的进程!”
Mitchell Kapor(卡普尔)本来基于VisiCalc开发插件的程序员,他开发过两个图形插件,可以从VisiCalc的文件中生成图形。
VisiPlot
VisiTrend
当IBM PC这个划时代意义的产品推出时,VisiCalc却没有采取什么行动,卡普尔意识到机会来了。
他将自己的软件版权以170万美元的价格卖出,然后又拉了130万的风投,铤而走险,押注IBM PC,开发了新的电子表格软件Lotus1-2-3。
1-2-3指的是该产品的使用方式,即电子表格,图形包和数据库管理器。
正如VisiCalc是Apple II的Killer application一样, Lotus 1-2-3成为了IBM兼容机和MS-DOS上的杀手级应用,IBM兼容机比Apple电脑便宜很多,市场巨大。
卡普尔顺势掀起了营销的狂潮,研发费用100万美元,发布产品就花费了250美元,Lotus 1-2-3销量扶摇直上,在最初的18个月就卖出了85万套,迅速成为电子表格领域的新霸主。
Lotus公司也超越微软,成为世界上最大的独立软件公司。
Lotus 1-2-3有多流行呢?很多人在买计算机的时候,不是说要买IBM PC兼容机,也不是说要买MS-DOS兼容机,而是要买能运行Lotus 1-2-3的计算机!
3 王者归来
眼瞅着Lotus1-2-3在自家的MS-DOS上称王称霸,赚钱赚到手软,而Multiplan又如同扶不起的阿斗,微软难道就此偃旗息鼓?
这绝不可能!
1984年秋天,微软一行四人秘密入驻西雅图的红狮酒店。
这四个人从左到右分别是:Bill Gates, Doug Klunder, Jabe Blumenthal 和 Charles Simonyi
他们要在这里进行为期三天的头脑风暴,讨论如何干掉Lotus1-2-3。
Bill Gates先是阐述了当前的严峻形势,Lotus公司第二年的销售额将要达到1.5亿美元,已经超越微软了!
大家纷纷表决心,一定要做出更加强大的电子表格软件Excel,把Lotus1-2-3 干翻在地。
四人就Excel的用户界面和关键功能进行了充分的讨论,最后做出了两个重要决定:
1. 智能的重新计算
现在的SpreadSheet都有一个缺陷,一个单元格的数值变化,所有的单元格都得重新计算,这在PC那可怜巴巴的16K内存中,运行速度太慢了。新软件Excel一定要只计算相关受影响的单元格,这样在性能上将会有巨大的优势,用户将会后神奇的体验!
Doug Klunder甚至提出了一个口号:Recalc or die ! 意思是,实现不了智能的重新计算,就去死。
2. 放弃DOS平台,让Excel运行在GUI上。
Lotus 1-2-3已经成为基于文本的DOS平台的霸主,不要和它正面竞争,而是专注于下一代GUI平台。
悲催的是Windows 1.0要在一年以后才能完成开发,市面上支持GUI的操作系统只有苹果的Macintosh。
Bill Gates还是决定先开发Excel的Macintosh版本,这是个在外人看来难以理解的决定:让别人的孩子在自己院子(MS-DOS)里撒野,而把自己的孩子寄居别人的家里(Macintosh)
不得不说,Bill Gates不但懂技术,还非常有商业头脑,他从Macintosh身上,已经意识到GUI才是未来,将来Excel对Lotus将会带来降维打击。
1985年,Excel的Macintosh版本正式推出,这是第一款图形化人机交互电子表格系统,有着漂亮的外观,下拉菜单,并且能够用鼠标操作!比基于文本的Lotus 1-2-3好太多了。
Excel开始蚕食Lotus 1-2-3的领地。
1987年11月,第一款适用于Windows系统的Excel也产生了。
Lotus1-2-3 行动迟缓,迟迟不能用于Windows系统,到了1988年,Excel的销量超过了Lotus !
这是一件标志性的事件,意味着新的软件霸主诞生了!
此后大约每两年,Microsoft就会推出新的版本来扩大自身的优势,把所有竞争对手都远远抛到了身后。
4 尾声
Excel对于微软有着特殊的意义,Microsoft Excel 1.0 的首席开发人员 Doug Klunder 回忆说:“微软将未来押在了 Excel 和 Windows 两个程序上,如果两者都失败了,微软就不可能活到今天。”
据说微软在开发Excel的时候,偷学了Macintosh的GUI技术,转而用到自家的Windows上,这让乔布斯怒不可遏,指着Bill Gates大骂:我那么信任你,你却偷走我们的东西!
Bill Gates没有愤怒以对,也没有反唇相讥,而是平静地讲了一个故事:“史蒂夫,我理解你的愤怒,不过我们可以从另外一个角度来看问题,我们都有个有钱的邻居,叫施乐,我闯进他们家准备偷电视的时候,发现你已经把它……偷走了。”