【黄金时代厅】
1979年,VisiCalc正式问世。由Software Arts主导开发,面向Apple II平台用户。
技术特色:生产力。
影响力评估:技术维度 8/10,商业维度 9/10,文化维度 7/10,用户维度 5/10。
作为黄金时代厅的经典代表,VisiCalc在软件发展史上留下了深刻的印记。
第一个电子表格软件
【黄金时代厅】
1979年,VisiCalc正式问世。由Software Arts主导开发,面向Apple II平台用户。
技术特色:生产力。
影响力评估:技术维度 8/10,商业维度 9/10,文化维度 7/10,用户维度 5/10。
作为黄金时代厅的经典代表,VisiCalc在软件发展史上留下了深刻的印记。
1979年,当VisiCalc在苹果II型电脑上首次亮相时,它不仅仅是一款软件,更像是一把钥匙,打开了一扇通往全新世界的大门。要理解这把钥匙的分量,我们需要先回到那个时代——20世纪70年代末,个人电脑还处于蹒跚学步的阶段。当时的计算机,尤其是像苹果II这样的微型机,主要被爱好者用来玩游戏、写简单的BASIC程序,或是运行一些业余的记账工具。商界对个人电脑的态度普遍是怀疑的:它们太慢、太不稳定、太不专业,远不如大型机或计算器可靠。然而,正是在这种看似荒芜的土壤里,一颗种子悄然萌芽,最终长成了参天大树。
这颗种子的播种者,是一位名叫丹·布里克林(Dan Bricklin)的年轻人。他当时是哈佛商学院的学生,正在攻读MBA学位。在课堂里,他经常面对一个令人头疼的场景:教授在黑板前,用粉笔一遍遍地擦改复杂的财务模型。比如,要计算一个项目的净现值,如果利率从10%变成12%,整个表格都要重新手算,耗时耗力,而且极易出错。布里克林心想:为什么不把这种表格搬到屏幕上?如果有一个软件,能让用户像在黑板上一样自由地输入数字和公式,然后当任何一个数字改变时,所有相关的计算结果都能自动更新——那该多好?这个想法,在1978年秋天的一个下午,像闪电一样击中了他。
布里克林并非科班出身的程序员。他本科在麻省理工学院学习计算机科学,但中途辍学,后来转到哈佛。他的技术背景更多是自学和实践。他曾在DEC(数字设备公司)工作过,对大型机的交互界面有一定了解。但他知道,要实现这个“电子黑板”的梦想,需要一位真正的编程高手。于是,他找到了自己的老朋友鲍勃·弗兰克斯顿(Bob Frankston)。弗兰克斯顿是麻省理工学院计算机科学实验室的研究生,精通汇编语言,对苹果II的硬件架构了如指掌。两人一拍即合,在布里克林位于波士顿的公寓阁楼里,开始了疯狂的编码之旅。
那个阁楼,后来被科技史学家称为“电子表格的摇篮”。没有空调,夏天闷热难耐,冬天冷风直灌。他们只有一台苹果II电脑,一块绿屏显示器,和一堆软盘。弗兰克斯顿负责底层代码,他用6502汇编语言编写核心引擎,因为只有汇编才能榨干苹果II那可怜的1MHz处理器和48KB内存的全部性能。布里克林则负责设计用户界面和交互逻辑。他们几乎每天工作16小时,饿了就吃披萨,困了就睡在沙发上。1979年初,第一个可运行的版本诞生了。它被命名为“VisiCalc”,是“Visible Calculator”(可视计算器)的缩写。这个名字完美地概括了它的本质:让计算过程变得可见、可交互。
VisiCalc的核心技术,在今天看来似乎简单得令人发笑,但在当时却是革命性的。它的关键创新在于“自动重算”(automatic recalculation)。用户可以在一个由行和列组成的网格中输入数字,然后在某个单元格中写入公式,比如“=A1+B1”。当A1或B1的值改变时,包含公式的单元格会立即更新结果。这个机制听起来像魔法,但背后的实现却极其精妙。由于内存极其有限,VisiCalc不能像现代Excel那样存储整个工作表的所有数据。它采用了一种“稀疏矩阵”的存储方式,只记录有内容的单元格。更重要的是,它实现了一个基于依赖关系的计算引擎:当某个单元格的值改变时,系统会追踪所有依赖于它的单元格,并按照正确的顺序重新计算。这个过程必须非常高效,因为当时苹果II的CPU每秒钟只能执行几十万条指令,而一个复杂的财务模型可能包含上百个公式。弗兰克斯顿用汇编语言手写了这个引擎,确保每次修改后,整个表格的更新不会让用户等待超过一两秒。
另一个技术亮点是“滚动”(scrolling)。当时的显示器只能显示20行40列字符,而VisiCalc支持多达254行63列。如何让用户在有限的空间里浏览巨大的表格?布里克林和弗兰克斯顿设计了一种“视口”机制:用户可以通过方向键让表格上下左右平滑移动,就像在看一个窗口里的世界。这个交互方式在今天司空见惯,但在1979年,大多数软件还只能显示固定大小的文本,VisiCalc的滚动体验让用户第一次感觉到“屏幕是可以被探索的”。此外,VisiCalc还支持基本的算术运算、求和、平均值、百分比等函数,以及简单的复制和填充功能——这些在今天看来是基本功,但在当时,每一个功能都是手工编码的奇迹。
1979年10月,VisiCalc正式发布,定价100美元。最初的销售并不顺利,因为很少有人理解它的价值。但转折点很快到来。一位名叫迈克尔·J·莫里斯(Michael J. Morris)的销售员,在一家名为“计算机世界”的展会上,向一位会计师展示了VisiCalc。那个会计师当场惊呆了:他平时需要花半天时间手工调整的预算表,在VisiCalc上只需要几分钟。消息像野火一样传开。很快,苹果II的销量开始飙升。人们发现,买一台苹果II电脑(当时售价约1300美元)加上VisiCalc,就能完成以前需要大型机或昂贵计算器才能做的财务分析。苹果公司的创始人史蒂夫·乔布斯后来承认:“VisiCalc是让苹果II走向商业成功的催化剂。”据统计,在VisiCalc发布后的两年内,苹果II的销量增长了近10倍,从每年不足2万台飙升至20万台以上。而VisiCalc本身也卖出了超过50万份,成为当时最畅销的软件之一。
VisiCalc的成功,也催生了整个个人电脑软件产业。在此之前,软件通常是硬件的附属品,免费赠送或价格极低。VisiCalc证明了软件可以独立成为一门大生意。它让投资者和创业者看到了个人电脑的商业潜力。很快,模仿者和竞争者蜂拥而至。1982年,Lotus公司推出了Lotus 1-2-3,它集成电子表格、图表和数据库功能,运行在IBM PC上,性能更强大,界面更友好。Lotus 1-2-3迅速取代VisiCalc成为市场霸主。1985年,微软推出了Excel,最初用于Macintosh,后来移植到Windows,最终凭借图形界面和更强大的功能,彻底终结了Lotus的时代。但无论Lotus还是Excel,它们的核心逻辑——网格、公式、自动重算——都深深植根于VisiCalc的基因。
在文化遗产层面,VisiCalc的贡献远不止于技术。它教会了世界一件事:软件可以成为思考的工具。在VisiCalc出现之前,计算机主要用于批处理任务——输入数据,输出结果,中间过程不可见。而VisiCalc让用户能够“边想边算”,随时调整假设,观察结果的变化。这种“假设分析”(what-if analysis)的能力,彻底改变了商业决策的方式。一个财务分析师可以瞬间看到利率上升1%对利润的影响;一个销售经理可以快速模拟不同定价策略下的营收。VisiCalc把计算机从“计算器”变成了“思考伙伴”。这种理念,后来被直接继承到Lotus 1-2-3、Excel,甚至现代的Google Sheets和Notion中。
VisiCalc的轶事也充满了人情味。据说,布里克林和弗兰克斯顿在开发过程中,曾经因为一个bug导致整个表格崩溃,所有数据瞬间消失。他们花了整整一周时间调试,才发现问题出在内存管理的一个边界条件上。还有一次,他们去参加一个计算机展会,展示VisiCalc时,现场突然停电。弗兰克斯顿不慌不忙地说:“没关系,我们用的是苹果II的电池备份。”实际上,苹果II根本没有电池备份,他只用幽默化解了尴尬。另外,VisiCalc的早期用户中,有一位名叫约翰·沃诺克(John Warnock)的工程师,他后来创办了Adobe公司。沃诺克曾说,VisiCalc让他第一次意识到,个人电脑可以成为专业工具。
VisiCalc的商业故事也并非一帆风顺。Software Arts公司由布里克林和弗兰克斯顿共同创立,但两人在管理上存在分歧。布里克林更注重产品创新,弗兰克斯顿则关心商业运营。随着VisiCalc的成功,公司迅速扩张,但内部管理混乱,财务问题频发。1983年,Lotus 1-2-3的崛起让VisiCalc的市场份额急剧下滑。Software Arts试图开发VisiCalc的升级版,但进展缓慢。1985年,公司被Lotus收购,VisiCalc正式退出历史舞台。然而,它的精神却永存。2004年,VisiCalc被美国国会图书馆列入“国家电影登记表”(National Film Registry)——虽然这个名录通常收录电影,但VisiCalc作为文化里程碑被破格收录。2014年,VisiCalc的源代码被捐赠给计算机历史博物馆,成为永久馆藏。
回顾VisiCalc的整个生命历程,它就像一颗流星,短暂而耀眼。它只存在了不到十年,却照亮了个人电脑商业化的道路。它让普通人第一次感受到,软件不是冷冰冰的代码,而是能帮我们思考的伙伴。当你今天在Excel里拖动公式、调整参数、瞬间看到结果时,你所体验的,正是1979年那个阁楼里两个年轻人用汇编语言创造出来的魔法。VisiCalc的故事提醒我们:伟大的创新往往始于一个简单的想法——把黑板搬到屏幕上。而正是这个想法,改变了界。
对技术发展和工程实践的推动程度
对商业模式和市场格局的影响深度
在科技文化和社会层面的持久影响力
用户群体的广度和普及程度