创新者 9.5分
读书笔记 第三章 编程
皮波迪先生
图灵再次明确解释了这种机器的概念:“我们不需要使用无限种类的机器来完成不同的任务,”他在1948年写道,“只需一台机器就足够了。为不同的任务制造多种机器的工程问题将会被‘编程’这种文书工作取代,经过编程的通用型机器可以完成这些任务。”
这些在战争时期建造的计算机在切换程序的时候难以达到电子速度。实现快速切换程序的能力将取决于现代计算机诞生历程的下一个重要步骤:找出在机器的电子存储器中保存程序的方式。
“我在给这些文章打分的时候会看到一些反对的意见,说他们上的是数学课,而不是英语课,”她回忆道,“然后我就会跟他们解释,如果无法和其他人进行交流,那么他们学习到的数学知识将没有用武之地。”
她从瓦萨学院请假来到纽约大学,与那里的知名数学家理查德·科朗特一起研究偏微分方程的求解方法。这项研究一直持续到1941年12月日本袭击珍珠港的时候。美国的参战为霍珀带来了一个改变人生的机会。在接下来的18个月里,她辞去了瓦萨学院的教职,与自己的丈夫离了婚,并以36岁的年龄加入了美国海军。
创新需要清晰的表达能力。
每天晚上,霍珀都会向艾肯朗读她在当天写成的内容,这个过程让她学习到了成为优秀作家的一个简单技巧:“他指出如果你在大声朗读的时候发现有不顺畅的地方,那你最好修改一下这个句子。我每天都要朗读自己完成的5页内容。”在经过了这样的训练之后,她的文笔开始变得简洁利落、条理清晰。
某些关于技术和科学的研究会强调实现创造性飞跃的发明家的作用,也就是霍珀所采用的研究方式。另外一些研究则强调团队和机构的作用,例如在贝尔实验室和IBM恩迪科特实验室进行的团队合作。后一种方式想要证明的是,所谓的创造性飞跃(灵光一闪的瞬间)其实是一个渐进过程的结果,当思想、概念、技术和工程手段都成熟的时候,创新就会随之出现。然而这两种看待技术发展的观点都是不够全面的。数字时代的多数伟大创新都是个人和团队相互作用的结果,即使是富有创意的个人(莫奇利、图灵、冯·诺依曼、艾肯),他们的想法也需要通过团队合作来实现。
每次到了要测试记录程序的打孔纸带的时候,马克一号的团队成员都会拿出一张跪垫,一起面朝东方祈祷他们的程序可以运行起来——这本来只是一次玩笑,不过后来就变成了一个固定的仪式。
她能够将自己的傲慢和协作精神结合在一起,这是软件黑客特有的一种能力。
马克二号(Mark II)计算机被放置在一座没有安装纱窗的大楼里面。一天晚上,这台机器突然出现故障,工作人员马上开始查找问题的所在。他们发现有一只翼展达4英寸的蛾子卡在了机器的一个机电继电器里面。他们将这只蛾子取了出来,并用胶带把它黏贴在工作日志上面。“面板F(蛾子)在继电器中,”日志上的记录写道,“这是首次发现虫子(bug)的情况。”从此以后,他们就将排除故障的工作称为“为机器除虫”(debugging the machine
计算机的创新者和其他领域的先驱一样,如果在前进的道路上止步不前的话,他们就会被其他人超越。他们的性格当中有着诸如固执和专注这样的特点,虽然这些特点是他们的创造力的来源,但有时候也会让他们难以接受新鲜的想法。史蒂夫·乔布斯正是一个以固执和专注著称的创新者,然而当他意识到自己需要“不同凡想”(think different)的时候,他就会突然改变自己的主意,这点经常让他的同事们感到措手不及。艾肯缺乏这种灵活应变的能力,所以他无法实现优雅的转身。

与时俱进

重新编程ENIAC的工作需要手动切换凌乱不堪的线缆和重置各种开关。编程最初被认为是一项例行公事,甚至是低等的工作,也许这就是为什么这种编程工作会交给女性负责的原因,因为当时的思想并不鼓励女性成为工程师。然而这群为ENIAC编程的女性很快就证明了计算机的编程工作可以达到和硬件设计同等重要的地位,这是男性工程师们在后来才逐渐认识到的一个事实。
他最终会对存储程序结构(埃克特、莫奇利和他们的同事刚开始思考的技术)进行大幅改进。由于他对存储程序结构的发明居功至伟,这种结构也被称为“冯·诺依曼结构”。
冯·诺依曼也在不同的地方吸收到设计存储程序的计算机结构所需的资料和概念。
艾肯对于分享的想法也同样抱有开放的态度。“不用担心其他人窃取你的想法,”他曾经对一位学生说过,“如果这是原创的想法,你肯定可以让别人接受它。”尽管如此,冯·诺依曼漫不经心地对待想法原创者的态度仍然让艾肯感到惊讶和一丝不快。“他不会在意自己谈论的想法是来自哪里的。”艾肯说道。
“当冯·诺依曼知道我的工作内容是研发一台能够在每秒完成333次乘法运算的电子计算机之后,我们本来轻松愉快的对话气氛变得更像是一场数学博士学位的论文答辩。”

言必及可实现的学术细节。

冯·诺依曼后来成为ENIAC团队的顾问,他坚持计算机程序应该与数据保存在同一个存储器中的想法,因为这样可以在程序运行的过程中轻易地对其进行调整。
他意识到建立一个简洁的指令集需要严谨的逻辑和准确的表达。“他非常透彻地解释了为什么我们需要或者不需要某个特定的指令,”詹宁斯说道,“这是我第一次真正认识到指令代码的重要性,并了解到它们背后的逻辑和指令集必须含有的要素。”这点正是他博学多识的明证,这种天赋让他能够抓住一个新想法的本质。“冯·诺依曼拥有在问题中找出重点的能力,我在其他天才身上也注意到了这个特点。”
“由艾伦·图灵构思,并由约翰·冯·诺依曼实现的存储程序计算机打破了表达意义的数字和执行任务的数字之间的区别,”乔治·戴森写道,“我们的宇宙也因此被彻底改写。”
冯·诺依曼比其他同事更快地领会到它的一个重要特性:这种存储器应该是可擦写的,也就是我们现在所说的读写存储器。这就意味着存储程序的指令不是只能在程序运行结束之后才能更改,而是可以在程序运行过程的任意时刻进行调整。这种计算机可以根据中间得出的结果调整自己的程序。为了实现这点,冯·诺依曼设计了一种可变地址(variable-address)的程序语言,它能够在程序运行的过程中轻易地切换子程序指令。
我们大多数人都曾经在小组头脑风暴会议中讨论过创造性的想法。也许在讨论结束的几天之后,会议的参加者已经记不清谁是第一个提出某个想法的人了,这时我们可以体会到想法的形成更多是来自团队成员之间的相互影响,而不是依靠某位成员给出一个完全原创的概念。创意的火花并非源自突如其来的灵感,而是多种想法相互碰撞的结果。
冯·诺依曼的一个长处是拥有主导这种协作创新流程的天赋——他善于提问和聆听,他会温和地提出试探性的建议,清晰地表达自己的观点,最后对各人的想法进行汇总整理。
这份“报告初稿”具有非常高的使用价值,它引领了未来至少10年的计算机发展。冯·诺依曼决定撰写这份报告,并允许戈德斯坦发布它的做法反映了学术型科学家(尤其是数学家)的开放性,他们更倾向于发表和宣传研究成果,而不是尝试占有知识产权。
自从冯·诺依曼将关于EDVAC的“报告初稿”置于公共领域70年以来,计算机的发展趋势一直倾向于更为专利化的路线,鲜有出现明显的例外情况。这种趋势的一个里程碑式的节点出现在2011年:苹果和谷歌在专利诉讼和专利授权费用方面的支出已经超过了研发新产品的成本。
跟其他优秀的创新者一样,莫奇利和埃克特都知道怎样做好一场演出。ENIAC的累加器里面的真空管组成了多个10×10的网格,这些真空管的顶端会通过机器前面板的小孔露出来。不过作为指示灯的氖管只能发出微弱的光线,这种亮度在正常情况下几乎看不见。于是埃克特找来了一些乒乓球,把它们切成一半,然后在上面标上数字,最后把它们安放到氖管的前面。会场的灯光在计算机开始处理数据的时候被关掉了,在看到这些不停闪烁的乒乓球之后,观众们都感到大为惊叹,这个景象后来成为电影和电视节目的一个常见桥段。
当天晚上,演示活动的主办方在历史悠久的宾夕法尼亚大学休斯敦礼堂举行了一场烛光晚宴。出席这场晚宴的包括科学泰斗、军队高层以及大部分曾经参与ENIAC相关工作的男性,但是琼·詹宁斯和贝蒂·斯奈德却不在其中,其他的女程序员也被排除在外。“贝蒂和我都没有得到邀请,”詹宁斯说道,“这多少会让我们感到心寒。”当这些男人和贵宾们大肆庆祝的时候,詹宁斯和斯奈德却在这个寒冷的冬夜里孤独地走在回家的路上。
霍珀有着像船员一样的行事风格,所以她更加看重“同舟共济”的协作方式。她促进了开源创新方式的发展,她曾将初期版本的编译器发给编程领域的好友和熟人,请求他们协助改进这些编译器。
她的直觉认为编程应该是独立于机器本身的存在,这点反映了她对共治(collegiality)的偏好,她相信即使是机器也应该高效地协同工作。这同时也说明她已经提前洞察到了计算机时代的一个决定性的本质:硬件将会被商品化,而编程才是真正的价值所在。直到比尔·盖茨出现之前,大多数男性都没有这样的远见。
计算机在当时被认为是一种工具,而不是一个学术研究的对象。在学术界,几乎没有人能够预想到计算机科学将会成为一个比电气工程更为重要的学科。
所以这里就成为冯·诺依曼和他的团队成员的秘密研发基地。他们在1946年发表了多篇论文,这些论文详细地描述了他们的计算机设计。他们把这些论文分别寄给了美国国会图书馆和美国专利局,他们这样做并不是为了申请专利,而是为了声明他们想要将这些研究成果纳入公共领域。
从20世纪50年代开始,计算机技术的创新阵地已经转移到了企业领域,引领这些创新的正是费兰蒂(Ferranti)、IBM、雷明顿·兰德和霍尼韦尔这样的公司。
对于互联网、万维网和某些类型的软件来说,开放模式被证明是更加可行的。但是对于硬件来说,比如计算机和微型芯片,专利保护制度正是在20世纪50年代涌现的大量硬件创新的源头。专利化的创新方式能够行之有效(尤其是在计算机领域)的原因在于,大型企业可以更好地完成计算机的研发、制造和营销工作,而它们需要通过专利制度来筹集运营的资金。
专利化的经营模式会使企业变得故步自封,这点让它们错过了在20世纪70年代初出现的个人电脑革命。
图灵对此产生了这样的疑问:如果一台机器可以根据已处理的数据调整自己的程序,难道这不是某种形式的学习吗?这种方式可以发展成为人工智能吗?
笛卡儿在这本书中写道: 如果存在一些跟我们的身体类似的机器,它们能够在各个方面尽可能接近地模仿我们的动作,我们还是可以利用两条非常可靠的标准来判明它们并不是真正的人类。第一条是……这种机器绝不能对自己接收到的任何内容都做出条理清晰的回应,而这是最愚蠢的人都能办到的。第二条是,虽然某些机器在完成某些工作的时候可以做得跟我们一样好,甚至可以做得更好,但是它们肯定做不好其他的事情,这点表明它们的行为并非建立在理解的基础上。
香农和图灵开始在下午茶的时候聚在一起进行长时间的讨论。他们两位都对脑科学很感兴趣,而且他们发现各自在1937年发表的论文之间存在一个共同点:它们都证明了采用简单二进制指令操作的机器不仅可以用于解决数学问题,同时也适用于所有的逻辑问题。由于逻辑是人脑思维的基础,因此机器在理论上可以模仿人类的智能。
图灵在1943年4月返回布莱切利园,这时他与一位叫作唐纳德·米基(Donald Michie)的同事成为好友,他们经常会在晚上到附近的一家酒吧下象棋。他们讨论了制作一台会下象棋的计算机的可能性。图灵没有打算利用强大的处理能力来计算出每一步棋可能的走法,他关注的焦点是能否让机器通过不断重复的练习“学会”如何下象棋。换句话说,机器也许可以尝试不同的开局走法,然后从每次的胜利或失败中完善自己的策略。如果这种方法是可行的话,这将会是一个足以令埃达·洛夫莱斯感到震惊的重大飞跃:机器不仅可以按照人类给出的指令进行工作,还可以从经验中学习,同时不断完善自己的指令。
“人们一直都说计算机器只能用于执行指令,”图灵在1947年2月的一场演讲中向伦敦数学学会的成员讲解道,“但是它们必须按照这种方式使用吗?”然后他谈论到了能够调整自身指令表的新型存储程序计算机的前景。“它就像是一个学徒一样,不仅掌握了师傅的大部分技艺,还在其中加入了更多自己的心得。我认为当这种情况出现的时候,我们应当把它看成是机器拥有智能的表现。”
图灵提出了一个极具独创性的反驳观点:机器也许可以进行学习,从而逐渐发展出自己的主动性,并掌握产生新想法的能力。
图灵提出了一种奖励和惩罚机制,它可以促使机器重复或者避免某些行为,最终这台机器将会培养出自己对于思考的概念。
哲学家约翰·希尔勒(John Searle)在1980年提出了一个叫作“中文房间”(Chinese Room)的思维实验。
有人对希尔勒的异议提出了反驳:虽然房间中的人本身不是真正理解中文,但是这个房间包含的完整系统——人(处理器)、指导手册(程序)以及写满中文的文件(数据),这三者作为一个整体是确实能够理解中文的。
0
《创新者》的全部笔记 20篇
豆瓣
我们的精神角落
免费下载 iOS / Android 版客户端