【黄金时代厅】
1983年,Lotus 1-2-3正式问世。由Lotus主导开发,面向DOS平台用户。
IBM PC 的杀手级应用
技术特色:生产力。
作为黄金时代厅的经典代表,Lotus 1-2-3在软件发展史上留下了深刻的印记。
IBM PC 的杀手级应用
【黄金时代厅】
1983年,Lotus 1-2-3正式问世。由Lotus主导开发,面向DOS平台用户。
IBM PC 的杀手级应用
技术特色:生产力。
作为黄金时代厅的经典代表,Lotus 1-2-3在软件发展史上留下了深刻的印记。
1983年1月26日,一个看似平常的星期三,一款软件在纽约市的一场发布会上悄然登场。它没有华丽的霓虹灯招牌,没有铺天盖地的电视广告,但当它出现在IBM Personal Computer的屏幕上时,整个商业世界都屏住了呼吸。这款软件名为Lotus 1-2-3,它不仅是电子表格,更是数据库,是图表工具,是那个时代个人电脑最锋利的刀刃。要理解它的意义,我们必须先回到那个个人电脑刚刚从极客的实验室走向办公桌的年代。
1979年,苹果II上诞生了VisiCalc,第一款电子表格软件。它像一道闪电,劈开了商业计算的迷雾。人们突然发现,这台笨重的机器不再只是用来玩《太空侵略者》或者写BASIC程序的玩具,它可以做预算、做预测、做财务报表。VisiCalc让苹果II获得了前所未有的商业成功,甚至有人戏称,苹果II的销量就是被VisiCalc“抬”起来的。然而,VisiCalc有一个致命的弱点:它运行在苹果II上,而苹果II的屏幕只有40列字符宽,处理器速度慢得令人发指。当IBM在1981年推出IBM PC,搭载了更快的Intel 8088处理器和80列字符的屏幕时,机会之门悄然打开。
IBM PC的诞生并非一帆风顺。它内部的操作系统是微软提供的PC-DOS,但这个系统本身并不具备杀手级应用。IBM的工程师们意识到,如果没有一款能真正打动商业用户的软件,这台机器很可能只是一个昂贵的打字机。就在这时,一个关键人物出现了:米切尔·卡普尔。他毕业于麻省理工学院,主修心理学和计算机科学,但更重要的是,他曾经是VisiCalc的早期用户和开发者之一。卡普尔在VisiCalc的母公司Personal Software(后来更名为VisiCorp)工作过,但他对VisiCalc的局限感到沮丧。他坚信,个人电脑的潜力远不止于此,而IBM PC的硬件能力足以支撑一个更强大的工具。
1981年,卡普尔离开了VisiCorp,在波士顿的一间小公寓里开始了他的创业之旅。他找来了一位同样才华横溢的程序员——乔纳森·萨克斯。萨克斯是卡普尔在麻省理工学院的校友,他精通汇编语言,对硬件的底层优化有着近乎偏执的追求。两人在公寓的餐桌上,用一台IBM PC和几本技术手册,开始了Lotus 1-2-3的早期开发。他们的目标非常明确:打造一款速度极快、功能集成、且能在256KB内存中流畅运行的软件。要知道,256KB在今天看来微不足道,但在当时,这已经是IBM PC标准配置的上限。许多竞争对手的软件需要512KB甚至更多内存,而卡普尔和萨克斯决定用汇编语言编写核心代码,直接操作硬件,榨干每一字节的性能。
开发过程充满了挑战。萨克斯回忆说,他经常连续工作36小时,困了就趴在键盘上睡一会儿。卡普尔则负责产品设计和市场策略。他们面临的最大技术难题是如何在有限的内存中同时处理电子表格、数据库和图表。VisiCalc只能处理纯数字表格,而Lotus 1-2-3要做的,是将这三者无缝整合。萨克斯发明了一种创新的内存管理技术,将数据以压缩格式存储在内存中,并在需要时快速解压。他还优化了屏幕刷新算法,使得滚动和计算速度比VisiCalc快了近十倍。据说,早期测试版在演示时,财务人员看到计算结果几乎瞬间出现,惊讶得说不出话来。
1983年1月26日,Lotus 1-2-3正式发布。它的定价是495美元,这在当时是一笔不小的数目,相当于一个普通白领一个月的工资。但市场反应却异常热烈。发布后不到三个月,Lotus 1-2-3就卖出了超过10万份,到1983年底,累计销量突破100万份。它迅速成为IBM PC上最畅销的软件,甚至被称为“IBM PC的杀手级应用”。这个称号并非空穴来风:许多企业购买IBM PC的唯一理由,就是为了运行Lotus 1-2-3。它让IBM PC在商业市场上一举击败了苹果II,因为苹果II无法运行Lotus 1-2-3,而IBM PC可以。
Lotus 1-2-3的成功,很大程度上归功于它的“三位一体”集成设计。用户可以在一个界面中创建电子表格,然后一键生成图表,或者用数据库功能对数据进行排序和筛选。在此之前,这些功能需要分别使用不同的软件,数据转换繁琐且容易出错。Lotus 1-2-3的创新在于,它把这三个工具打包成一个整体,而且每个部分都做得非常出色。它的图表功能虽然只有简单的柱状图和折线图,但在那个年代,这已经足够让财务报告变得直观易懂。它的数据库功能支持多达8191条记录,虽然比不上专业的数据库软件,但对于日常的客户名单、库存管理来说绰绰有余。
不过,Lotus 1-2-3并非没有缺点。早期版本必须用软盘启动,而且系统盘和数据盘分开。用户经常忘记插入系统盘,结果屏幕上出现一行冷冰冰的提示:“Non-system disk or disk error”,然后只能苦笑地重启。还有,它的界面完全是字符模式的,没有鼠标,所有操作都靠键盘命令。用户需要记住大量的斜杠命令,比如“/”进入菜单,“/R”格式化单元格,“/G”生成图表。这听起来很麻烦,但习惯了之后,熟练的用户可以用极快的速度完成操作,甚至比后来的图形界面还要高效。Lotus 1-2-3的键盘快捷键设计,后来被许多软件借鉴,包括Microsoft Excel。
1985年,Lotus发布了2.0版本。这是Lotus 1-2-3历史上最重要的升级之一。2.0版增加了宏语言,允许用户录制和回放操作序列。这意味着财务人员可以编写自动化脚本,一键完成重复性的报表生成任务。宏语言虽然语法简单,但功能强大,它催生了大量第三方宏库,用户社区开始活跃起来。Lotus还推出了一个名为“Lotus 1-2-3 Macro Library”的扩展包,里面包含了上百个预制的宏,覆盖了从财务分析到项目管理各个领域。2.0版还改进了图形功能,支持了更复杂的图表类型,比如饼图和散点图,并且可以打印出高质量的图表。
随着2.0版的成功,Lotus公司迅速壮大。到1987年,Lotus已经成为全球最大的独立软件公司之一,年收入超过4亿美元,员工超过2000人。卡普尔本人也成了硅谷的传奇人物,他的创业故事激励了无数后来的程序员。但成功的背后,危机也在悄然逼近。1985年,微软发布了Excel for Macintosh,这是第一款基于图形用户界面的电子表格软件。Excel的界面友好得多,用户可以用鼠标点击和拖拽,而不需要记忆复杂的键盘命令。虽然Excel在Mac上并未立刻撼动Lotus 1-2-3的地位,但微软的野心已经显露无遗。
1989年,Lotus发布了3.0版,试图回应Excel的挑战。3.0版增加了对多任务的支持,允许用户同时打开多个工作表,并且引入了3D图表功能。它还改进了内存管理,支持了扩展内存,使得软件可以处理更大的数据集。然而,3.0版仍然运行在DOS环境下,它的界面仍然是字符模式,无法与Excel的图形界面相提并论。更糟糕的是,Lotus在Windows版本的开发上严重滞后。Windows 3.0在1990年发布后迅速流行,而Lotus 1-2-3的Windows版直到1991年才姗姗来迟。此时,微软Excel for Windows已经发布了两个版本,并且凭借Windows的图形界面优势,迅速占领了市场。
Lotus 1-2-3的Windows版并非没有亮点。它保留了DOS版的宏语言兼容性,并且增加了一些新功能,比如对OLE(对象链接与嵌入)的支持。但它的界面设计明显落后于Excel,操作逻辑也延续了DOS时代的键盘命令习惯,这让习惯了鼠标的用户感到别扭。更重要的是,Lotus公司内部出现了严重的战略失误。卡普尔在1986年就离开了公司,他的继任者吉姆·曼齐(Jim Manzi)将大量资源投入到Lotus Notes的研发中,忽视了电子表格市场的竞争。Lotus Notes是一款革命性的协作软件,但它需要大规模的企业部署,而电子表格市场正在被Excel蚕食。到1993年,Excel的销量已经超过了Lotus 1-2-3,Lotus失去了曾经统治的市场。
1995年,IBM以35亿美元收购了Lotus公司。收购后,IBM试图将Lotus 1-2-3整合到自己的办公软件套件中,但效果不佳。Lotus 1-2-3的最后一个版本是1997年发布的9.8版,之后便停止了开发。尽管如此,Lotus 1-2-3的影响远远超出了它本身的生命周期。它开创了集成办公软件的先河,后来的Microsoft Office、OpenOffice.org、Google Sheets等软件,都或多或少继承了它的设计理念。它的宏语言和菜单系统,直接影响了Excel的VBA(Visual Basic for Applications)和菜单栏设计。甚至Excel的键盘快捷键,比如Ctrl+C复制、Ctrl+V粘贴,都是在与Lotus 1-2-3的竞争中逐渐标准化的。
在科技史中,Lotus 1-2-3占据着一个特殊的位置。它是第一个真正意义上的“杀手级应用”,让个人电脑从爱好者的玩具变成了商业世界的必需品。它证明了软件的价值可以超过硬件,一家初创公司可以用一款产品改变整个产业。它的成功也提醒我们,在技术快速迭代的时代,领先者稍有懈怠就会被后来者超越。Lotus 1-2-3的衰落,不是因为技术落后,而是因为对图形用户界面的忽视和对市场变化的误判。微软Excel的崛起则展示了如何用更好的用户体验和更快的迭代速度,击败一个看似不可战胜的对手。
最后,还有一些轶事值得提及。据说,Lotus 1-2-3的名字来源于卡普尔对产品功能的概括:电子表格(1)、数据库(2)和图表(3)。但更流行的说法是,卡普尔希望这个名字听起来像一种高效的“组合拳”,一击致命。还有,Lotus 1-2-3的早期开发中,卡普尔和萨克斯经常在深夜点外卖披萨,他们发现用Lotus 1-2-3计算披萨分摊费用比用手算快得多,这让他们更加坚信产品的价值。在用户社区中,Lotus 1-2-3的宏语言催生了大量“宏高手”,他们编写的宏被广泛分享,形成了一个充满活力的知识共享文化。甚至有一些企业专门聘请Lotus 1-2-3专家,来优化他们的财务流程。
如今,当我们在Excel中轻松拖拽生成图表时,或许不会想起那个在DOS黑屏下敲击键盘的Lotus 1-2-3。但正是这款软件,用它的速度、集成和精准,为整个电子表格软件奠定了基石。它教会我们:技术的进步,往往源于对用户痛点的深刻洞察,和对性能极限的不懈追求。Lotus 1-2-3的故事,是一部关于创新、竞争和传承的史诗,它永远值得我们在数字博物馆中,静静品味。
对技术发展和工程实践的推动程度
对商业模式和市场格局的影响深度
在科技文化和社会层面的持久影响力
用户群体的广度和普及程度