《奇思妙想:15位计算机天才及其重大发现》
基于对 15 位顶尖计算机科学家的现场访谈,记录他们的人生历程、研究路径与思想精华。 8 位图灵奖得主,覆盖编程语言、算法、体系结构、人工智能四大方向。
书籍概览
- 写作形式:第一手访谈记录 + 作者补充的历史背景与科学原理,通俗化表达,避免专业术语
- 章节结构:每位科学家独立成章,章前附大事时间线,技术细节以”补充内容”单独呈现
- 独特价值:读者得以”当面和计算机领域的牛顿级大师交流”,接触他们的真实思维方式
- 成书时间:原版 1998 年,中文版 2012 年;后记保留了 1998 年对未来的预测,可对照现实验证
四大分类与 15 位科学家
第一部分:语言大师 —— 如何与机器对话
| 科学家 | 核心贡献 | 标签 |
|---|---|---|
| 约翰·巴科斯(John Backus) | FORTRAN 语言发明人,BNF 范式提出者,函数式编程(FP)推动者 | 不断进取的发明家 |
| 约翰·麦卡锡(John McCarthy) | Lisp 语言发明人,人工智能奠基人,提出”非单调逻辑” | 不走寻常路的常识逻辑学家 |
| 艾伦·C·凯(Alan C. Kay) | Smalltalk 语言发明人,面向对象编程先驱,Dynabook 构想(平板电脑前身) | 清晰的浪漫主义梦想家 |
语言大师的核心命题:沃尔夫假说(语言塑造思维方式)在计算机领域进一步印证——编程语言决定了程序员思考问题的方式。巴科斯的 FORTRAN 让科学计算走向实用,麦卡锡的 Lisp 奠定了符号计算与人工智能的语言基础,艾伦·凯的 Smalltalk 与面向对象思想则重塑了软件的组织方式。
第二部分:算法大师 —— 如何快速地解决问题
| 科学家 | 核心贡献 | 标签 |
|---|---|---|
| 艾兹赫尔·W·戴克斯彻(Edsger W. Dijkstra) | 最短路径算法(Dijkstra)、信号量机制、结构化编程倡导者、Go To 有害论 | 可怕的说明文和最短路径 |
| 迈克尔·O·拉宾(Michael O. Rabin) | 随机化算法、非确定性自动机、密码学基础、质数检测 | 机会的可能性 |
| 高德纳(Donald E. Knuth) | 《计算机程序设计艺术》(TAOCP)、TeX 排版系统、算法分析奠基人 | 逐新趣异一线牵 |
| 罗伯特·E·陶尔扬(Robert E. Tarjan) | 数据结构与图算法大师(平衡树、并查集、强连通分量等) | 寻找优秀的结构 |
| 莱斯利·兰伯特(Leslie Lamport) | 分布式系统理论(Paxos、逻辑时钟、因果关系)、LaTeX | 时间、空间和计算 |
| 史蒂芬·古克 & 利奥尼德·列文(Stephen Cook & Leonid Levin) | NP 完全性理论(分别独立提出库克定理与列文定理) | 良解难觅 |
第 9 章为古克与列文合章——两人分别在西方和苏联独立证明了 NP 完全性,因铁幕阻隔而互不知情。
算法大师的核心命题:从”能不能计算”转向”能多快计算”。算法复杂度分析、随机化、分布式一致性、NP 完全性等核心概念,共同构建了计算效率的理论框架。
第三部分:架构大师 —— 如何构建更好的机器
| 科学家 | 核心贡献 | 标签 |
|---|---|---|
| 弗雷德里克·P·布鲁克斯(Frederick P. Brooks) | IBM System/360 项目经理、《人月神话》作者、虚拟现实先驱 | 成功带来的愉悦 |
| 伯顿·J·史密斯(Burton J. Smith) | 大规模并行计算架构(Tera 机、数据流架构、多线程) | 与光速赛跑 |
| W·丹尼尔·希利斯(W. Daniel Hillis) | 连接机器(Connection Machine)、大规模并行计算、人工生命 | 与生物学的连结 |
架构大师的核心命题:当单核性能逼近物理极限(光速瓶颈),如何通过并行架构突破算力上限?布鲁克斯见证了大型机的黄金时代,史密斯和希利斯则从不同路径探索并行计算的未来——一个追求硬件层面的数据流与多线程,一个从生物神经元获取灵感。
第四部分:机器智能的雕塑大师 —— 如何让机器更聪明
| 科学家 | 核心贡献 | 标签 |
|---|---|---|
| 爱德华·A·费根鲍姆(Edward A. Feigenbaum) | 专家系统之父、知识工程提出者、MYCIN/DENDRAL | 知识的力量 |
| 道格拉斯·B·莱纳特(Douglas B. Lenat) | Cyc 项目(20 年构建常识知识库的豪赌)、AM 程序 | 一场二十年的豪赌 |
AI 大师的核心命题:智能的本质是什么?费根鲍姆代表了”知识就是力量”的符号主义路线——专家系统在特定领域大获成功;莱纳特的 Cyc 则是一场豪赌:用 20 年手工编码人类所有常识,试图实现通用人工智能。
行业发展脉络(按十年回溯)
| 时期 | 核心挑战 | 代表人物与突破 |
|---|---|---|
| 50 年前 | 让硬件设备运转起来 | 硬件基础实现 |
| 40 年前 | 降低编程门槛 | 巴科斯、麦卡锡——编程语言同时适配科研、商业与 AI |
| 30 年前 | 操作系统与编程效率 | 布鲁克斯、戴克斯彻——多任务并行;高德纳——编译器;费根鲍姆——专家系统 |
| 20 年前 | 算法与编程范式 | 高德纳、拉宾、陶尔扬、古克/列文——精确算法分析;艾伦·凯——面向对象;兰伯特——分布式系统理论 |
| 10 年前 | 人工智能与并行计算 | 莱纳特——Cyc 项目;伯顿·史密斯、希利斯——大规模并行设计 |
趋势总结:研究重心从”机器本身”逐步转向”实际问题本身”。核心挑战从”设计处理器”变成”设计连接多处理器的网络”,以及如何用软件让并行系统兼具高速与稳定性。
成功的秘密:15 位科学家的共同特质
伟大的计算机科学家没有统一的成功模板——他们的不同点远多于相似之处。
1. 成长路径多元,没有标准答案
- 早慧者:列文十多岁获基辅物理奥赛冠军
- “叛逆者”反而走出独特道路:
- 巴科斯高中每年不及格,暑期补习全花在帆船上
- 艾伦·凯的学校悲惨遭遇,反而启发他研究”用计算机帮助孩子学习”
- 伯顿·史密斯初中科学课的装置是用来弹射纸团
- 拉宾 12 岁因恶作剧被赶出课堂,和同学打赌解几何题开启数学生涯
2. 创造力不受年龄限制
与传统数学家”年轻时出成果”的刻板印象不同,计算机科学家的创造期更长:
- 拉宾 40 岁后发明随机化算法
- 麦卡锡 50 岁后发明非单调逻辑
- 巴科斯年过 60 才开始研究函数式语言
- 戴克斯彻 60 岁左右提出数学验证新方法
3. 早年兴趣驱动长期成就
内在激情是核心驱动力,而非外部激励。例如希利斯童年培育青蛙心脏、痴迷神经解剖学,自然引导他后来设计连接机器、研究人工生命。
4. 不止于技术,保有精神追求
- 布鲁克斯放弃 IBM 大好前程,去大学创建计算机系,将 VR 带入化学、建筑、医学,并从道德上反对 VR 主要用于娱乐
- 巴科斯退休后研读神秘著作,认为”通过反省自己可以真正理解宇宙的奥秘”
5. 四大共通特质
| 特质 | 说明 |
|---|---|
| 重视问题选择 | 选什么问题决定了成果的重要性;要关注其他学科中”有生命力的问题” |
| 接纳价值的不确定性 | 重大成果的价值往往事后才显现,研究者很难提前预判 |
| 匹配自身背景 | 成为解决问题的合适人选,依托自己独特的知识储备 |
| 敢于冒险 | 颠覆性研究初期往往不被认可,相当于用职业生涯做长期赌注 |
6. 研究环境与资助
- 资助来源:企业(IBM、施乐、苹果、MCC)+ 政府(ARPA、NSF)+ 大学
- 关键洞见:资助的灵活性和金额同等重要——“资助人而非项目”的开放式拨款(如麦卡锡和明斯基闲聊后获批的 AI 实验室),是 Lisp、连接机器、Smalltalk、随机化算法等争议性创新得以落地的关键
- 学术网络:几乎所有北美顶尖计算机科学家都有 MIT、斯坦福、CMU、哈佛、普林斯顿的进修或任教经历
- 合作模式:多数以小团队高效协作(如拉宾与斯科特),少数独立研究(如戴克斯彻、兰伯特)
- 跨学科启发:普遍有物理学背景——兰伯特的分布式研究受狭义相对论启发,多位与费曼私交甚笃
计算机科学 vs 自然科学
艾伦·凯的经典论断:
自然科学的核心是”探索” —— 大自然已经给出了既定的世界,科学家的工作是发现其中的法则。
计算机科学的核心是”创造” —— 研究者是法则的构建者,要亲手创造出一个世界。
正因为计算机科学是”构建法则、创造世界”的学科,才更需要选对问题、敢冒风险、依托自身背景开拓新方向。
相关人物与著作
关联书籍
- 《SICP》-计算机程序的构造和解释-第二版——体现了麦卡锡 Lisp 思想的经典教材
- 《程序员修炼之道》-从小工到专家——务实主义编程哲学,延续了语言塑造思维的脉络
- 《重构》-改善既有代码的设计——软件工艺层面的持续改进
- 《人月神话》——布鲁克斯的软件工程经典(本书有专章介绍其人)
- 《计算机程序设计艺术》——高德纳的鸿篇巨制(云盘已有,待处理)
15 位科学家中的图灵奖得主(8 位)
约翰·巴科斯、约翰·麦卡锡、艾兹赫尔·戴克斯彻、迈克尔·拉宾、高德纳、罗伯特·陶尔扬、莱斯利·兰伯特、史蒂芬·古克、弗雷德里克·布鲁克斯、爱德华·费根鲍姆
注:原书称 8 位图灵奖得主,但按获奖记录实际超过 8 位(巴科斯 1977、麦卡锡 1971、戴克斯彻 1972、拉宾 1976、高德纳 1974、陶尔扬 1986、兰伯特 2013、古克 1982、布鲁克斯 1999、费根鲍姆 1994)。原书出版于 1998 年,兰伯特和布鲁克斯的获奖在此之后,故当时统计为 8 位。
金句摘录
- “语言塑造了我们思考的方式,决定了我们思考的内容。“——本杰明·沃尔夫(萨丕尔-沃尔夫假说)
- “计算机科学是关于创造法则、构建世界的学科,而非发现已有法则。“——艾伦·凯
- 选对问题比努力更重要——问题的选择决定了解决方案的重要程度。
- 重大成就需要甘冒风险,甚至要勇于面对嘲笑与反对。
- 计算机科学仍是非常年轻的领域,重大的成果正在持续涌现。——迈克尔·拉宾
延伸阅读方向
- 编程语言思想史:从 FORTRAN → Lisp → Smalltalk → 现代语言的演进脉络
- 算法与复杂度理论:P vs NP 问题、随机化算法、分布式一致性
- 计算机架构史:从大型机到并行计算、从冯·诺依曼到数据流架构
- 人工智能史:符号主义 vs 连接主义、专家系统的兴衰、Cyc 项目的经验教训
- 科学家传记与创新方法论:如何选研究方向、如何面对失败与质疑