把反复计算变成可修改的工作表
1978年春,正在哈佛商学院就读的丹·布里克林开始构想一种能随输入变化而重新计算的工具。他此前从事交互式编辑和文字处理,因而想到把屏幕上的数字也做成可随时修改的对象。商业课堂需要不断改变假设、比较结果,先写一个通用语言程序再求答案,往往比直接用计算器更费周折。
布里克林与相识多年的鲍勃·弗兰克斯顿合作,把设想收束成由行列组成的电子表格。固定网格既安排屏幕内容,也提供引用某个数值的地址:列用字母,行用数字。用户可以在同一张表里放入标题、常数和公式,输入方式与结果显示不必分成两套程序。
Apple II原型与作者、发行商分工
布里克林在2004年口述史中将个人计算机原型定于1978年10月8日。早期BASIC原型运行在从丹·菲尔斯特拉所在的Personal Software借来的Apple II上,曾尝试用游戏旋钮移动光标,后来改用方向键,并以空格切换移动方向。
布里克林和弗兰克斯顿于1979年1月2日登记成立Software Arts。两人负责设计、实现和文档,Personal Software负责出版与销售。选择Apple II不仅因为机器能支持实时交互,也因为其磁盘设备和独立电脑商店的销售网络具有吸引力。1979年原版手册分别列出马萨诸塞州剑桥的开发公司和加利福尼亚州桑尼维尔的发行公司。
在有限内存中实现交互
正式产品改用汇编实现,弗兰克斯顿还编写宏汇编和其他开发工具;布里克林承担规格、测试和文档等工作。原版要求Apple II或Apple II Plus至少有32K字节内存,并配Disk II软盘驱动器和显示设备。这些内存还要容纳系统、屏幕、程序与用户数据,不能全部交给表格。
手册允许寻址至BK254,即63列、254行,但并不保证能填满所有位置。工作表随已写入位置向右、向下扩展成矩形,空白位置也有最低内存开销,过大的跨度就可能耗尽空间。在线帮助和实时图形等设想受到容量限制,最终产品依靠简短命令、状态提示、分屏和纸本手册维持可用性。
销售、成本和利润的联动
第一版手册用销售预测演示方法:在A1写标签SALES,在B1放销售额100;A2写COST,在B2输入公式“.6*B1”,屏幕显示成本60。把B1改成200,B2就重新算为120,公式本身仍保留在格内,光标移到该格时可在屏幕上方查看。
毛利可放在B3,输入“+B1-B2”得到80。开头的加号很重要,因为直接以字母开头的“B1-B2”会被当作文字标签。第二课再把下月销售写为“1.1*B1”,用复制命令向后扩展,并选择相对引用,让各月公式依次引用前一个月。这样,重复计算被保存在公式关系中,改变假设就能看到新的结果。
参考:[1]
自动重算仍需正确安排关系
VisiCalc的自动重算并非能够分析所有依赖关系后自行排定顺序。原版按列或按行从左上方向右下方扫描,每个公式在一次重算中求值一次。若公式先于它依赖的单元格更新,就可能还使用旧值;用户须调整布局、重算方向,必要时再触发一次计算。
弗兰克斯顿在1979年会议论文中强调,软件提供的是可由用户组织的计算工具,而不是预先规定业务规则的财务套餐。家庭预算、销售预测与其他应用仍由使用者决定公式和含义。程序减少了反复擦写和机械运算,却没有替用户判断假设是否合理。
由公开展示走向商品发行
1979年,弗兰克斯顿在全国计算机会议的个人计算活动中介绍VisiCalc的设计,把它解释为计算器与可修改纸张的结合。对商业用户而言,演示的重点是改变一项数据后立即看到其余数值的变化,而不是要求他们先掌握BASIC等语言。
布里克林在1989年《BYTE》访谈中明确记述,VisiCalc于1979年10月17日推出,售价99美元。因此,1978年属于构想与原型阶段,1979年才是产品公开介绍和商业发行阶段。此后面向其他机器的移植,以及1980年出现的数据交换格式DIF,属于后续发展;它们不应倒置成最初Apple II版本已具备的能力。