克里斯汀·尼加德

克里斯汀·尼加德:发明对象的人

每当今天的程序员写下“类”、“对象”或“继承”时,他们使用的词汇是一位挪威运筹学家在20世纪60年代初创造的,最初是为了模拟海军战斗和工厂排队。克里斯汀·尼加德 (Kristen Nygaard) 并不是为了彻底改变软件工程而出发的。他的初衷是在一台过于弱小的计算机上对混乱的离散现实世界系统进行建模,而在解决这一狭窄问题时,他构建了概念框架——对象、类、继承——这构成了此后几乎所有主要编程语言的基础。

从蒙特卡洛到导弹轨迹

尼加德于1926年8月27日出生在奥斯陆,并于1956年获得奥斯陆大学数学硕士学位,其论文研究了抽象概率理论中蒙特卡洛方法的理论层面。他的职业生涯始于挪威国防研究所,而非大学,他在那里工作了十二年(从1948年到1960年),从计算和编程转向运筹学。到1957年,他领导了挪威第一个国防运筹学小组,并于1959年共同创立了挪威运筹学协会,一直担任主席至1964年。这并不是“真正”工作开始前的一次学术迂回——这正是Simula被建立以解决的那项工作:如何足够清晰地表征复杂的、相互作用的概率系统(如核反应堆堆芯或船队),以便计算机能够运行它们。

构建 Simula

1960年,挪威计算中心聘请尼加德帮助将其打造为一家真正的研究机构,并于1962年任命他为研究主任。在那里,他与同事奥勒-约翰·达尔 (Ole-Johan Dahl) 一起,在20世纪60年代开发了两种悄然重塑计算机科学的语言。Simula I(建于1961年至1965年间)及其继任者Simula 67(开发于1965年至1968年间)扩展了ALGOL 60,包含了一套之前从未以这种组合方式汇集在一起的思想:将数据与作用于数据的过程捆绑在一起的“对象”,定义此类对象族的“类”,允许一个类扩展另一个类的“继承”,虚拟量,以及一种基于协程的多线程执行形式。将“对象”和“类”作为程序的核心组织单元,而不是过程或数据表,这正是面向对象编程得名的单一思想——这是尼加德和达尔的思想,而不是后来对他人的改进。

免费测试
你的是多少?

二十道题、八分钟计时,以及与所有参与者对比得出的百分位。无需注册。

开始智商测试 →

不断拓宽的职业生涯

尼加德的学术生活在这一基础上不断扩展,且从未失去产生这一基础的应用本能。他于1975年至1976年在丹麦奥胡斯大学任教,随后加入奥斯陆大学,起初从1977年开始兼职,1984年至1996年担任全职。他的研究日益转向计算的社会后果,并帮助建立了后来被称为斯堪的纳维亚系统开发学派的理论,该学派与参与式设计紧密相关——即系统使用者应该参与系统设计,而非仅仅是被动接受系统的思想。从1976年起,他与本特·布鲁恩·克里斯滕森 (Bent Bruun Kristensen)、奥勒·莱尔曼·马森 (Ole Lehrmann Madsen) 和比格·默勒-佩德森 (Birger Møller-Pedersen) 合作开发BETA,这是一种从1986年开始实现的通用面向对象语言;20世纪80年代,他主持了斯堪的纳维亚SYDPOL研究项目,随后指导了关于面向专业语言扩展的Cost-13项目。他最后的研究兴趣是初级编程教育本身,通过一项名为“综合面向对象学习”的倡议进行。

击败欧盟的活动家

在计算机科学之外,尼加德拥有极其丰富多彩的政治生活。20世纪60年代,他从自由党全国执行委员会转向工党,并于1971年至2001年期间在研究政策委员会任职。他最伟大的公共成就与编程无关:1988年,他接管了挪威与欧洲经济共同体信息委员会(于1990年重组为“反对欧盟组织”),并将其打造为挪威历史上最大的政治组织,到1994年,在四百万人口中拥有14.5万名成员。他与中间党领导人安妮·恩格尔·拉恩斯坦 (Anne Enger Lahnstein) 共同领导了1994年反对挪威加入欧盟的公投运动;该国以52.2%的反对票否决了加入,投票率达到历史最高的88.8%。他于1995年辞去主席职务,但继续在战略委员会工作,并从1996年至1997年帮助协调“反对马斯特里赫特欧洲运动”,这是一个反对货币联盟的欧洲网络。

荣誉与认可

奖项在他职业生涯末期接踵而至。隆德大学于1990年授予他荣誉博士学位,奥尔堡大学于1991年授予他首个荣誉博士学位,同年,计算机专业人员社会责任组织授予他诺伯特·维纳社会与专业责任奖。1999年,他和达尔分享了挪威数据协会颁发的罗辛奖;2000年,对象管理组织授予他荣誉院士称号,以表彰他“在对象技术概念上的开创性贡献”,哈拉尔五世国王授予他圣奥拉夫皇家勋章指挥官。技术高峰出现在2001年,他和达尔共同获得了IEEE约翰·冯·诺依曼奖章,以表彰他们“通过Simula 67的设计和实现,引入了面向对象编程的基础概念”——数月后,他又获得了计算机科学最高荣誉——计算机协会的A.M.图灵奖,表彰他们“通过设计Simula I和Simula 67编程语言,为面向对象编程的兴起奠定了基础思想”。国际对象技术协会已于2004年以他们的名义设立了达尔-尼加德奖,这是一种永久性的年度确认,表明该领域视他们为奠基人。

为什么克里斯汀被称为天才

在这方面,理由尤为坚实,因为这些荣誉并非虚名,而是该领域最高的技术奖项,由每天在他们工作基础上进行构建的人们所授予:图灵奖和冯·诺依曼奖章都明确指出了具体的概念成就——发明了对象-类模型——而非终身的总体成就。这种具体性至关重要。尼加德的天才并非单纯的数学造诣;他自己的研究生论文虽然扎实,但只是平淡的蒙特卡洛理论,同事们普遍认为达尔在Simula中体现了更严谨的正式语言设计。尼加德的独特贡献在于概念层面:他认识到离散事件模拟需要一种全新的程序组织单元,并有能力将该单元概括化,使其成为一种范式,而不仅仅是针对某个领域问题的技巧。这是一种更罕见、更难定义的天才——不是比别人更快地解决已知问题,而是注意到整整一类未来的问题共享着一个没人定义过的隐藏结构。诚实的对立观点是,Simula的思想通过Smalltalk、C++和Java花了几十年才进入主流,而尼加德后期的职业生涯更多地投入到政治活动中,而非利用其技术优势——因此,他的影响是真实的,但发酵缓慢,直到生命最后两年才在体制内得到认可。

遗产

尼加德于2002年8月10日在奥斯陆因心脏病去世,享年75岁。他于1951年与乔安娜·尼加德 (Johanna Nygaard) 结婚,育有三个孩子,并留下了七个孙辈。他还曾担任挪威自然保护协会环境委员会主席,并花费数年时间帮助建立了一个针对边缘化酗酒者的实验性社会机构——总而言之,他的一生将计算、政治和社会福利视为同一本能的延续,而非独立的职业生涯。如今编写的几乎每一个面向对象程序,从企业软件到移动应用,仍然运行在他和达尔半个世纪前为了模拟船舶和反应堆而发明的词汇之上。

与伟人比较

Charles Babbage vs Gregor MendelDavid Hume vs Mark TwainBaruch Spinoza vs Terence Chi Shen TaoBill Gates vs Pierre De Fermat
查看排行 →所有对比 →

神童

Shakuntala DeviShakuntala DeviMultiplied two 13-digit numbers in her head in 28 secondsJeremy ShulerCornell University at 12 — Reading at 21 Months, Top-Decile SAT…Akiane KramarikSelf-Taught Painter from Age 4 — Paintings Sold for Up to…Marko ČalasanWorld's Youngest Microsoft Certified Systems Engineer — Age 8…
神童 →

玩一玩,明天再来

每日天才挑战 · Brain teaser
A farmer has 17 sheep. All but 9 run away. How many are left?
点选你的答案 ↓
你是哪位天才? 免费智商测试