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