0:00:00.541,0:00:03.979 你们中有多少人用过[br]比如Microsoft Excel 0:00:03.979,0:00:05.729 这样的电子表格呢? 0:00:06.269,0:00:07.126 非常好。 0:00:07.126,0:00:12.156 那么,你们中又有多少人曾[br]用手写电子表格经营过小企业, 0:00:12.156,0:00:15.590 就像我爸爸在费城开设[br]小型印刷业务那样呢? 0:00:15.960,0:00:17.120 少了很多。 0:00:18.040,0:00:20.640 不过几百年来各种表格都是用手写的。 0:00:21.480,0:00:24.536 早在1978年,[br]我就开始设想一个点子, 0:00:24.536,0:00:27.510 它最终变成了VisiCalc[br](第一款电子表格办公软件)。 0:00:27.510,0:00:29.166 第二年,它就开始在一个 0:00:29.166,0:00:32.629 叫做 Apple II 的个人[br]笔记本电脑新产品上运行了。 0:00:33.240,0:00:37.346 这项发明为世界带来了[br]巨大的改变,就在六年之后, 0:00:37.346,0:00:39.500 华尔街日报刊登了一篇报道, 0:00:39.500,0:00:42.920 说你一定知道VisiCalc是什么,[br]你也许正在使用它。 0:00:43.760,0:00:46.720 1990年,史蒂夫・乔布斯 0:00:47.160,0:00:50.400 曾说:“电子表格推动了产业发展。” 0:00:50.880,0:00:54.800 “VisiCalc推动了苹果的成功,[br]它的作用胜过了任何其它单一事件。” 0:00:55.440,0:00:57.620 在一个更加私人的评论当中, 0:00:57.620,0:01:00.246 史蒂夫说:“如果VisiCalc[br]是写给其他电脑公司的, 0:01:00.246,0:01:02.960 你们现在就该在采访其他人了吧。” 0:01:03.360,0:01:09.720 所以,把私人电脑搬上商业舞台,[br]VisiCalc发挥了大作用。 0:01:09.720,0:01:10.920 这一切是怎么发生的? 0:01:11.680,0:01:14.600 它是什么?我是如何将它变成这样的? 0:01:15.920,0:01:21.200 我第一次学会编程[br]是在1966年,那是我只有15岁—— 0:01:21.200,0:01:23.520 大概是在拍了这张照片几个月之后。 0:01:24.200,0:01:27.160 在那个年代,很少有[br]高中生就能接触到电脑的。 0:01:27.560,0:01:31.096 但是有了运气,加上[br]无数坚持不懈的努力, 0:01:31.096,0:01:33.320 我终于得到了在城市里[br]使用电脑的机会。 0:01:34.200,0:01:39.080 在伍德斯托克的乡野中过了一阵子之后,[br]我去了麻省理工(MIT)上大学。 0:01:39.520,0:01:42.600 为了赚钱,我参与了Multics项目。 0:01:43.320,0:01:48.336 Multics是一个开创性的[br]交互式分时系统。 0:01:48.340,0:01:51.550 你们听说过Linux[br]和Unix操作系统吗? 0:01:51.550,0:01:52.800 他们的前身就是Multics。 0:01:53.320,0:01:55.646 我在Multics主要致力于研究 0:01:55.646,0:01:59.436 那些被非计算机领域的, 0:01:59.436,0:02:01.966 但是却要坐在电脑终端前[br]进行计算的人们所使用的 0:02:01.966,0:02:04.960 所谓的解释型计算机语言。 0:02:05.560,0:02:07.866 从MIT毕业之后, 0:02:07.866,0:02:10.680 我去了数字设备公司(DEC)工作。 0:02:11.320,0:02:14.296 在DEC,我主攻一个用于 0:02:14.296,0:02:17.360 计算机新领域,[br]文稿排版的软件。 0:02:17.800,0:02:22.060 我帮助那些报社用电脑终端 0:02:22.060,0:02:23.900 代替记者们常用的打字机。 0:02:23.900,0:02:24.936 我编写软件, 0:02:24.936,0:02:28.780 并实地考察,去像[br]《堪萨斯城明星报》这样的地方, 0:02:28.780,0:02:31.296 这那里,我训练那些用户,[br]并得到反馈。 0:02:31.296,0:02:33.100 这些实战经历 0:02:33.100,0:02:36.400 与我在MIT实验室里[br]所体验到的大相径庭。 0:02:37.880,0:02:40.526 在那之后,我就成为了 0:02:40.526,0:02:45.320 DEC第一个文字处理器软件的[br]项目主管,又是一个新领域。 0:02:45.720,0:02:51.266 和文稿排版软件一样,[br]最重要的是做出一个 0:02:51.266,0:02:55.470 对于非计算机领域人士[br]既自然,又高效的用户页面。 0:02:56.360,0:03:00.376 在DEC之后,[br]我又去了一家小公司工作, 0:03:00.376,0:03:06.480 他们做的是快餐领域中[br]基于微处理器的电子收银机。 0:03:07.360,0:03:11.096 但是我一直以来都想和我在MIT, [br]Multics项目中认识的好友 0:03:11.096,0:03:13.486 鲍勃·弗兰克斯顿一起开一家公司。 0:03:13.486,0:03:17.170 所以,我决定回到学校,[br]尽我所能的学习一下商业经营。 0:03:17.170,0:03:19.930 之后,在1977年的秋天, 0:03:19.930,0:03:23.000 我加入了哈佛商学院的MBA项目。 0:03:23.840,0:03:26.320 我就是那一小部分 0:03:26.320,0:03:29.200 有计算机编程背景的学生之一。 0:03:30.080,0:03:33.096 这是年鉴中我的照片,[br]我坐在前排。 0:03:33.096,0:03:34.096 (笑声) 0:03:34.096,0:03:36.966 在哈佛,我们是以[br]案例分析的方式学习的。 0:03:36.966,0:03:38.926 我们每天大约做三个案例分析。 0:03:38.926,0:03:44.640 每个案例都是由好几十页纸组成的,[br]描述了某个具体的企业经营情况。 0:03:45.600,0:03:50.206 它们通常会有演释,这些演释中[br]经常会有一些字母和数字, 0:03:50.206,0:03:53.360 而它们的排列只在[br]特定的情况下才有意义。 0:03:53.840,0:03:55.760 它们通常都是完全不同的。 0:03:55.760,0:03:56.880 这是我的作业。 0:03:56.880,0:04:00.200 又是数字,字母,[br]以一种有意义的方式排列。 0:04:00.200,0:04:04.320 计算量非常大——[br]我们的效率都快接近计算器了。 0:04:04.720,0:04:06.840 事实上,这是我当时用的计算器。 0:04:08.200,0:04:11.016 在万圣节,我还穿成了计算器的模样。 0:04:11.016,0:04:12.440 (笑声) 0:04:13.785,0:04:17.026 在每节课的开始,教授都会叫一个人 0:04:17.026,0:04:18.279 去汇报案例。 0:04:19.079,0:04:21.886 他们通常会介绍一下案例, 0:04:21.886,0:04:25.600 然后口述一下信息,[br]教授就会把信息转录到 0:04:25.600,0:04:28.249 教室最前方的电动黑板上, 0:04:28.249,0:04:30.060 然后我们会就此展开讨论。 0:04:30.060,0:04:34.530 最令人沮丧的事情之一[br]就是当你做完了所有的作业, 0:04:34.530,0:04:37.646 然而第二天早上一来,[br]发现出了一个小错误, 0:04:37.646,0:04:40.150 然后其它的数据就跟着都算错了。 0:04:40.150,0:04:42.016 这样你就没法参与课堂讨论了。 0:04:42.016,0:04:44.520 可是我们是根据课堂参与度打分的。 0:04:45.320,0:04:50.240 所以,跟着其它87个人同坐在[br]一个教室里,我经常开小差。 0:04:51.280,0:04:55.176 那个年代,大多数的程序员[br]都是主攻中央处理器的, 0:04:55.176,0:05:01.506 建造一些像是库存系统,工资系统[br]或是账单处理系统之类的。 0:05:01.520,0:05:04.066 但是我曾在互动语言处理 0:05:04.066,0:05:06.186 和按需个人计算领域工作过。 0:05:06.186,0:05:10.440 我没有考虑打印纸或是穿孔纸, 0:05:10.880,0:05:13.686 而是想象出了一个神奇的黑板, 0:05:13.686,0:05:17.076 只要擦掉一个数字,[br]然后再写一个新的进去, 0:05:17.080,0:05:19.966 所有其它的数据都会跟着自动改变, 0:05:19.966,0:05:21.720 就像是数字领域的文字处理过程。 0:05:22.600,0:05:26.840 我想象我的计算器[br]能在底部有鼠标和硬件, 0:05:27.240,0:05:30.200 上方还有个显示屏,[br]就像是一架战斗机。 0:05:30.720,0:05:34.886 这样,我就可以输一些数字进去,[br]然后圈中它,按下求和键。 0:05:34.886,0:05:38.656 这样,在谈判桌上[br]我们就能够得到结果了。 0:05:38.656,0:05:41.640 现在,我只需要[br]把我的理想变为现实了。 0:05:42.640,0:05:45.080 我父亲教会了我如何设计原型。 0:05:45.560,0:05:47.366 他给我展示了那种为了找到 0:05:47.366,0:05:50.576 小册子上正确印刷位置 0:05:50.576,0:05:53.176 而制作的模型。 0:05:53.176,0:05:56.116 他使用这些模型[br]去收集来自用户的反馈, 0:05:56.116,0:05:59.680 当得到好的回复时,[br]他就把他的作品送到印刷厂。 0:06:00.440,0:06:05.576 试图去建立一种简单的,[br]可用的版本的行为 0:06:05.576,0:06:07.880 迫使你去揭露那些关键问题。 0:06:08.720,0:06:13.120 而且这也使你能够[br]更加低成本的解决那些问题。 0:06:13.720,0:06:15.960 所以我决定去建造一台原型机。 0:06:16.760,0:06:21.376 我前往了一个连接在[br]哈佛分时系统里的视频终端 0:06:21.376,0:06:22.896 并开始了工作。 0:06:22.896,0:06:26.176 我遇到的最基本的一个问题就是: 0:06:26.176,0:06:28.840 如何表达算式中的数值呢? 0:06:29.280,0:06:31.210 我来解释一下。 0:06:32.000,0:06:34.216 我想象你会指向某个方向, 0:06:34.216,0:06:37.336 输入某个单词,[br]然后在另一个位置, 0:06:37.336,0:06:40.844 放进一些数字,更多的数字,[br]指一下你想要得到结果的地方。 0:06:41.240,0:06:44.496 指向第一个数字,放上减号,[br]再指向第二个数字, 0:06:44.496,0:06:45.680 然后得到结果。 0:06:46.360,0:06:49.806 问题在于:[br]我应该把什么放进公式里呢? 0:06:49.806,0:06:52.460 这就需要电脑去知道[br]该把什么东西放进去 0:06:52.460,0:06:54.166 而当你看见公式的时候, 0:06:54.166,0:06:57.160 你就需要知道在屏幕上[br]它所代表的位置含义。 0:06:57.840,0:07:00.766 我最初想到的是以一种[br]程序员的方式去做这件事。 0:07:00.766,0:07:02.615 当第一次你指向一个位置的时候, 0:07:02.615,0:07:05.369 电脑会要求你输入一个特殊的名称。 0:07:06.760,0:07:10.566 而很快事情就变得清晰起来了,[br]这个过程太单调乏味了。 0:07:10.566,0:07:13.800 电脑要能够自动的编译名称[br]并把它放进所指定的位置。 0:07:14.600,0:07:18.960 所以我就想,为什么不让他们[br]以一种你们创造他们的顺序排列? 0:07:19.480,0:07:22.006 我尝试了。数值1,数值2。 0:07:22.006,0:07:24.412 然后,很快我就意识到了,[br]如果你的数字很多, 0:07:24.412,0:07:26.796 要想记住它们在屏幕上的[br]位置是根本不可能的。 0:07:26.796,0:07:32.636 然后我就说,为什么[br]不让你们随便把数值放在哪里, 0:07:32.640,0:07:34.530 然后我来用一个表格进行限制? 0:07:34.720,0:07:36.976 然后当你指向一个单元格, 0:07:36.976,0:07:39.680 电脑就会自动生成携带名字的行与列。 0:07:40.640,0:07:46.866 然后,如果我把它做的和地图一样,[br]在顶上横向生成ABC,侧面纵向生成数字, 0:07:46.866,0:07:49.776 那么当你在公式中看到B7时, 0:07:49.776,0:07:52.100 你就会准确的知道[br]它在屏幕中的位置了。 0:07:52.640,0:07:56.880 如果你必须要手动输入公式的时候,[br]你也会知道该怎么做。 0:07:57.440,0:08:00.520 把这些都限制在表格当中[br]解决了我的问题。 0:08:01.200,0:08:06.800 这也开启了一些新的功能,[br]比如设定单元格的操作范围。 0:08:07.240,0:08:08.996 但是它并非很死板—— 0:08:08.996,0:08:13.280 你仍旧可以把任何值,[br]任何公式放进任意的单元格当中。 0:08:14.120,0:08:17.960 这就是我们一直到今天[br]都在做的,将近40年之后。 0:08:19.109,0:08:22.836 我的朋友鲍勃和我决定[br]要一起制作这个产品。 0:08:22.836,0:08:27.256 我花了更多的时间去研究[br]这个程序究竟该如何运作。 0:08:27.256,0:08:30.496 我还写了一篇参考文档,用作记录。 0:08:30.500,0:08:35.336 这也帮助了我确保[br]我所定义的用户界面 0:08:35.336,0:08:38.799 可以向普通人简洁,清晰地阐述。 0:08:39.520,0:08:44.976 鲍勃是在马萨诸塞州阿灵顿市[br]租的公寓小阁楼上工作的。 0:08:44.976,0:08:46.680 这就是小阁楼的内部。 0:08:48.240,0:08:51.066 鲍勃购买了MIT,Multics的分时系统, 0:08:51.066,0:08:53.760 用于在像这样的终端上书写代码。 0:08:54.400,0:08:57.936 然后他就会使用声音耦合器,通过电话线 0:08:57.936,0:09:01.206 将测试版本下载到借来的Apple II电脑上, 0:09:01.206,0:09:02.650 然后我们就会测试它。 0:09:02.920,0:09:07.640 我准备的测试之一就是百事挑战。 0:09:08.720,0:09:11.640 那时还没法打印,所以[br]我只能将所有东西抄录下来。 0:09:12.480,0:09:14.880 当时也没有保存功能,[br]所以每次程序崩溃时, 0:09:14.880,0:09:17.920 我都必须将所有的公式[br]都一遍又一遍地重输进去。 0:09:18.240,0:09:21.970 第二天在课堂上,我举起了我的手;[br]我被叫到了台上展示案例。 0:09:21.970,0:09:25.866 我做了一个五年的预测。[br]我做了各种各样的情景预期。 0:09:25.866,0:09:29.520 我成功的做出了这个案例,[br]VisCalc已经很有用了。 0:09:30.160,0:09:32.760 教授就问,“你是怎么做出来的?” 0:09:33.469,0:09:36.166 不过,我不想告诉他我们的秘密项目。 0:09:36.166,0:09:37.680 (笑声) 0:09:38.060,0:09:39.636 所以我就说,“我选取这个,加上这个, 0:09:39.636,0:09:41.736 然后乘以这个,然后再减去那个。” 0:09:41.736,0:09:43.796 他说,“好吧,你为什么不用比率呢?” 0:09:43.796,0:09:47.366 我说,“哈!因为用比率[br]就没有那么准确了!” 0:09:47.366,0:09:50.036 但我没有说的是:“除法暂时还不好用。” 0:09:50.036,0:09:53.086 (笑声) 0:09:53.086,0:09:56.966 最后,总而言之,我们确实[br]把VisCalc做的足够完整了, 0:09:56.966,0:09:58.800 可以把它向大众展示了。 0:09:59.440,0:10:01.410 我父亲就把参考文档的[br]小样打印了出来。 0:10:01.410,0:10:03.440 我们就把它当作我们的宣传材料。 0:10:04.280,0:10:10.010 在1979年的六月,我们的出版商[br]在纽约大型计算机会议上的 0:10:10.010,0:10:14.200 一个小摊位上,[br]把VisCalc介绍给了全世界。 0:10:14.800,0:10:18.960 纽约时代周刊为[br]这次的会议写了一篇趣评。 0:10:19.480,0:10:21.966 “机器正在表演看似宗教仪式的东西…… 0:10:21.966,0:10:23.371 信徒们不断聚集而来, 0:10:23.371,0:10:26.501 画家们不断聚集到大型场所,加入圣殿, 0:10:26.501,0:10:29.696 仔细地在巨大的黄板上写下[br]巨大黑色的‘VISCALC’字样。 0:10:29.696,0:10:31.526 所有人都在为VISCALC喝彩!” 0:10:31.526,0:10:35.116 那可是纽约时报啊:[br]“所有人都在喝彩,VISCALC!” 0:10:35.120,0:10:36.656 (笑声) 0:10:36.656,0:10:40.926 这也是最后一次一个电子表格 0:10:40.926,0:10:44.810 能在流行商业新闻中红两年。 0:10:44.810,0:10:46.950 大多数人还不是很理解。 0:10:46.950,0:10:48.350 但是有些人理解了。 0:10:48.920,0:10:53.120 在1979年10月,我们发售了VisCalc。 0:10:53.880,0:10:56.660 它的包装刚到的时候是这样的。 0:10:56.660,0:10:59.200 当它在Apple II上运行的时候是这样的。 0:11:00.000,0:11:01.960 剩下的,按照他们的说法,就是历史了。 0:11:02.360,0:11:04.486 现在,这个故事还有好大一截子呢, 0:11:04.486,0:11:06.576 但是我只能留到过两天再说了。 0:11:06.576,0:11:08.800 尽管如此,但是有一点,[br]哈佛还记得这事。 0:11:09.400,0:11:10.850 这就是当时的教室。 0:11:11.240,0:11:14.680 他们居然竖了块儿牌子[br]来纪念当时这儿发生的事。 0:11:15.640,0:11:18.040 (掌声) 0:11:24.400,0:11:27.446 但这也是一个提醒, 0:11:27.446,0:11:32.850 那就是,你们一样,也能够[br]运用你们的特殊背景,技能和需求 0:11:32.850,0:11:38.196 去设计原型,并发现,[br]解决那些关键问题, 0:11:38.196,0:11:40.530 然后通过这一切,改变这个世界。 0:11:41.040,0:11:42.046 谢谢。 0:11:42.046,0:11:46.880 (掌声)