微博

ECO中文网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 790|回复: 0
收起左侧

2001 奥利-约翰·达尔

[复制链接]
发表于 2022-4-17 16:46:57 | 显示全部楼层 |阅读模式

马上注册 与译者交流

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Ole-Johan Dahl

PHOTOGRAPHS
BIRTH:
12th October 1931 in Mandal, Norway

DEATH:
29th June 2002 from Lymphatic Cancer at Asker, Norway

EDUCATION:
MS in Numerical Mathematics, University of Oslo (1957).

EXPERIENCE:
Military Service at Institute of Defense Research, Oslo, under Jan Garwick (1952–1963); Joined Nygaard at Norwegian Computing Center (1963); Professor at the University of Oslo (1968).

HONORS AND AWARDS:
Rosing Prize, Norwegian Data Association (1999); Commander of the Order of Saint Olav, awarded by the King of Norway (2000); ACM Turing Award (2001); IEEE von Neumann Medal (2002); Association Internationale pour les Technologies Objets (AiTO) annually awards two prizes named in honor of Dahl and Nygaard.

OLE-JOHAN DAHL DL Author Profile link
Norway – 2001
CITATION
With Kristen Nygaard, for ideas fundamental to the emergence of object oriented programming, through their design of the programming languages Simula I and Simula 67.

SHORT ANNOTATED
BIBLIOGRAPHY
RESEARCH
SUBJECTS
ADDITIONAL
MATERIALS
Object-oriented programming is a dominant programming paradigm of this age. Fundamental to the emergence of this paradigm were core concepts such as objects, classes, and inheritance with virtual quantities, all clearly established in Ole Johan Dahl and Kristen Nygaard's discrete event simulation language Simula I and general programming language Simula 67. The objects integrate data, procedural, and cooperating action sequence aspects into one very general and powerful unifying entity.

By embodying these core concepts in a language designed both for system description and programming, Dahl and Nygaard provided both a logical and a notational basis for the ideas. Software could be built in layers of abstraction, each one relying on the description and conceptual platform implemented by the previous layers. By defining Simula 67 to be an extension of an international standard language, Algol-60, this medium of expression was accessible and available to the entire research community. Simula shaped and sped the emergence of object-oriented programming and the management discipline that accompanies it by many years.

Ole-Johan Dahl was born on 12th October 1931 in Mandal, a small town on the south coast of Norway. Although now a resort, the residents of Mandal had historically looked to the sea for their livelihoods, and Dahl was descended on both sides from long lines of sea captains and sailors. It soon became evident that Dahl was not to continue that tradition, because his early interests were reading, mathematics, and playing the piano. His mother was a housewife, and neither his sister nor his brother was academically inclined.

When he was seven, his family moved to Drammen, south of Oslo. When he was thirteen, his elder cousin was shot dead by the Nazis and the whole family fled to Sweden. Consequently he missed the final year of elementary school and started directly in high school after taking the entrance examination as an external candidate. Because he was able to help his teacher explain mathematics to the other pupils, he was soon nicknamed “the professor.”

Dahl heard classical music for the first time when he was 3 years old and was captivated by it. His passion for music stayed with him throughout his life, but it seems that he decided quite early to make his career elsewhere. He chose an academic career focused on mathematics, because music was a personal and private affair used to enrich his life and those of his friends, rather than a field to be used as a profession.

Dahl studied numerical mathematics at the University of Oslo. During his time at the University he also worked part-time at the Norwegian Defense Research Establishment (NDRE), to which he was assigned in 1952 for his compulsory military service. He continued to work there full-time after he graduated. It was at NDRE that he was first introduced to computers. He was also fortunate to fall under the influence of Jan Garwick (often called the “father of informatics” in Norway), who was able to stimulate and nurture Dahl's talents. In 1954 Dahl became Garwick's assistant.

By 1957 the NDRE had obtained an early Ferranti Mercury computer. Dahl designed and implemented what was then considered to be a high-level language for the Mercury, called MAC (Mercury Automatic Coding). Dahl's university degree, while officially in the area of numerical analysis, was actually about computer science: the title of his thesis was “Multiple Index Countings on the Ferranti Mercury Computer.”

At NDRE Dahl also encountered Kristen Nygaard, and the partnership between these two men was to change the face of computing. Nygaard had been working on calculations related to the diameter of the uranium rods for Norway's first nuclear reactor. In 1949 NDRE started using Monte Carlo simulation, with the calculations performed by hand, instead of attempting to solve the equations exactly. “In that [simulation] model the physical paths and histories of a large number of neutrons were generated and a statistical analysis of their properties used to estimate the proper choice of rod diameter” [Nyggard 1986]. Later Nygaard applied the same approach to other problems, changing his focus to operational research, and in 1956 earning a Master of Science degree with a thesis on probability theory.

In 1960 Nygaard moved to the Norwegian Computing Center (NCC), a semi-governmental research institute that had been established in 1958. His brief was to expand the NCC's research capabilities in computer science and operational research. He wrote “Many of the civilian tasks turned out to present the same kind of methodological problems [as his earlier military work]: the necessity of using simulation, the need of concepts and a language for system description, lack of tools for generating simulation programs'' [7].  In 1961 he started designing a simulation language as a way of attacking those problems.

In January 1962 Nygaard wrote a letter describing his progress, addressed to Charles Salzmann, a French specialist in operational research. Nygaard wrote:

The status of the Simulation Language (Monte Carlo Compiler) is that I have rather clear ideas on how to describe queueing systems, and have developed concepts which I feel allow a reasonably easy description of large classes of situations. I believe that these results have some interest even isolated from the compiler, since the presently used ways of describing such systems are not very satisfactory. ...

The work on the compiler could not start before the language was fairly well developed, but this stage seems now to have been reached. The expert programmer who is interested in this part of the job will meet me tomorrow. He has been rather optimistic during our previous meetings. [7].

The “expert programmer” was Ole-Johan Dahl. Working with Nygaard, Dahl produced the initial ideas for object-oriented programming, which is now the dominant style of programming for commercial and industrial applications. Dahl joined the NCC in 1963 and stayed there until 1968, when he was invited to become a full professor at the University of Oslo

The languages that Dahl and Nygaard developed together were, first (1962-1964) a simulation language called SIMULA, now usually referred to as SIMULA I, and subsequently a general-purpose language called SIMULA 67.

SIMULA I was intended to be used both for describing complex systems and for programming simulations of their behavior. Nygaard wrote:

SIMULA [I] should give its users a set of concepts in terms of which they could comprehend the system considered, and a language for precise and complete description of its properties. It should thus be a tool both for the person writing the description and for people with whom he wanted to communicate about the system.

At the same time this system description should, with the necessary input/output and data analysis information added, be compilable into a computer simulation program, providing quantitative information about the system’s behaviour. [8].

Although designed as a simulation language, almost from the beginning SIMULA I was used not only for simulation but also for general-purpose programming. It introduced its users to the idea of organizing their programs as a system of interacting, executing components, and this idea proved useful for a wide range of applications. These interacting components became the “objects” of SIMULA 67.

SIMULA 67 was designed from the beginning as a general-purpose language, but Dahl and Nygaard invented a mechanism (class prefixing) that made the simulation-specific features of SIMULA I available in SIMULA 67 as a special kind of library. Prefixing could be used in two rather different ways, which have given rise to two of the most important ideas in modern programming languages: inheritance, which makes it easy to reuse code in unanticipated ways, and modules, which are used for extending the vocabulary of a programming language.

These ideas — objects, inheritance, and modularity — are among the major contributions of Dahl and Nygaard to the discipline of programming. SIMULA also contributed the process concept, which enabled programmers to express activities going on concurrently. With wonderful economy, all of these ideas were realized as variant uses of a single linguistic mechanism, the class.

Part of the success of Dahl and Nygaard in creating the ideas of object-orientation is clearly due to their extraordinary talents. But part is also due to their very differing backgrounds, which made every language feature proposed by one the subject of criticism by the other. One story has it that in the spring of 1967 a new employee told the switchboard operator in a shocked voice: “Two men are fighting violently in front of the blackboard in the upstairs corridor. What shall we do?” The operator came out of the office, listened for a few seconds and then said: “Relax. It's only Dahl and Nygaard discussing SIMULA.”

After Dahl moved to the University of Oslo he deliberately stopped work on further development of SIMULA and took on the responsibility, almost single-handed, of building up computer science in Norway as an academic discipline. For the first 10 years he was the only professor of computer science at the University. He taught during the day, wrote textbooks at night, and supervised up to 20 graduate students at a time. He worked on programming methodology, and produced, with Tony Hoare, a chapter called “Hierarchical Program Structures” that became part of the celebrated book “Structured Programming” [2].

Dahl's later work was influenced by Hoare's system for reasoning mathematically about programs. He started using and teaching these reasoning techniques, and felt that they would improve even informally-produced programs. In 1992 Dahl published Verifiable Programming, which includes many of his own research results [9]. In the 1990s he returned to object-orientated programming through design of the ABEL language and his research on reasoning about object-oriented systems.

Dahl died in 2002 after a long battle with Lymphatic Cancer. He and his wife Tove had two children, Fredrik and Ingrid.

Ole-Johan Dahl on the Web

Many articles on Dahl are available on the world-wide web. Some of them have been used as sources in preparing this article.

The homepage for Ole-Johan Dahl.

Bertrand Meyer, “In memory of Ole-Johan Dahl and Kristen Nygaard”, and Nygaard's own eulogy for Dahl.

Virtual Exhibition. In People Behind Informatics.

ACM press release about the 2001 Turing award

Author: Andrew P. Black



奥勒-约翰-达尔(Ole-Johan Dahl

照片
出生地:挪威
1931年10月12日在挪威的曼达尔

逝世
2002年6月29日,因淋巴癌在挪威阿斯克市去世。

学历
奥斯陆大学数值数学硕士(1957)。

经历:曾在奥斯陆大学国防研究所服役。
在奥斯陆国防研究所服兵役,师从扬-加里克(1952-1963);在挪威计算中心加入尼加德(1963);奥斯陆大学教授(1968)。

荣誉和奖项。
挪威数据协会罗辛奖(1999年);挪威国王颁发的圣奥拉夫司令勋章(2000年);ACM图灵奖(2001年);IEEE冯诺伊曼奖章(2002年);国际物体技术协会(AiTO)每年颁发两个以达尔和尼加德命名的奖项。

OLE-JOHAN DAHL DL作者简介链接
挪威 - 2001年
参考文献
与Kristen Nygaard一起,通过设计编程语言Simula I和Simula 67,为面向对象编程的出现提供了基本思想。

简短注释
书目
研究
题目
额外的
材料
面向对象的编程是这个时代的一个主流编程范式。这个范式出现的根本是核心概念,如对象、类和带有虚拟量的继承,所有这些都在Ole Johan Dahl和Kristen Nygaard的离散事件模拟语言Simula I和通用编程语言Simula 67中明确确立。这些对象将数据、程序和合作行动序列方面整合到一个非常普遍和强大的统一实体中。

通过将这些核心概念体现在为系统描述和编程而设计的语言中,Dahl和Nygaard为这些想法提供了一个逻辑和符号基础。软件可以分层抽象构建,每一层都依赖于前几层的描述和概念平台。通过将Simula 67定义为国际标准语言Algol-60的扩展,这种表达方式可以为整个研究界所接受和使用。Simula塑造并加速了面向对象编程的出现,以及与之相伴的管理学科的出现,历时多年。

Ole-Johan Dahl于1931年10月12日出生在Mandal,一个位于挪威南海岸的小镇。虽然现在是一个度假胜地,但曼达尔的居民历来以海为生,达尔的两边都是海员和水手的后代。很快就可以看出,达尔不会继承这一传统,因为他早期的兴趣是阅读、数学和弹钢琴。他的母亲是个家庭主妇,他的姐姐和弟弟都没有学术方面的倾向。

在他七岁时,他的家人搬到了奥斯陆南部的德拉门。在他13岁时,他的大表哥被纳粹枪杀,全家人逃到了瑞典。因此,他错过了小学的最后一年,并在作为外部候选人参加入学考试后直接进入高中。由于他能帮助老师向其他学生解释数学知识,他很快就有了 "教授 "的绰号。

达尔在3岁时第一次听到古典音乐,并被其深深吸引。他对音乐的热情伴随着他的一生,但似乎他很早就决定在其他地方发展自己的事业。他选择了以数学为重点的学术生涯,因为音乐是用来丰富他和他的朋友们的生活的个人私事,而不是作为一个职业的领域。

达尔在奥斯陆大学学习数值数学。在大学期间,他还在挪威国防研究机构(NDRE)兼职工作,1952年他被分配到该机构服义务兵役。毕业后他继续在那里全职工作。正是在NDRE,他第一次接触到了计算机。他还幸运地受到了扬-加里克(Jan Garwick)(通常被称为挪威的 "信息学之父")的影响,后者能够刺激和培养达尔的才能。1954年,达尔成为加里克的助手。

到1957年,NDRE获得了一台早期的费兰蒂水星计算机。达尔设计并实现了当时被认为是水星的高级语言,称为MAC(水星自动编码)。达尔的大学学位虽然正式属于数值分析领域,但实际上是关于计算机科学的:他的论文题目是 "费兰蒂水星计算机上的多重索引计数"。

在NDRE,达尔还遇到了克里斯汀-尼加德,这两个人之间的合作改变了计算的面貌。尼加德一直在从事与挪威第一个核反应堆的铀棒直径有关的计算工作。1949年,NDRE开始使用蒙特卡洛模拟,由人工进行计算,而不是试图精确地解决方程。"在该[模拟]模型中,产生了大量中子的物理路径和历史,并对其特性进行了统计分析,以估计棒子直径的适当选择" [Nyggard 1986]。后来,Nygaard将同样的方法应用于其他问题,将他的重点转向了运筹学,并在1956年获得了科学硕士学位,论文内容是概率论。

1960年,Nygaard转到挪威计算中心(NCC),一个成立于1958年的半官方研究机构。他的任务是扩大NCC在计算机科学和操作研究方面的研究能力。他写道:"许多民用任务都出现了与[他早期的军事工作]相同的方法论问题:使用模拟的必要性、概念和系统描述语言的必要性、缺乏生成模拟程序的工具"[7]。 1961年,他开始设计一种仿真语言,作为解决这些问题的一种方式。

1962年1月,Nygaard写了一封信,描述了他的进展,这封信是写给法国运筹学专家Charles Salzmann的。Nygaard写道

仿真语言(蒙特卡洛编译器)的现状是,我对如何描述排队系统有相当清晰的想法,并且已经开发了一些概念,我觉得这些概念可以相当容易地描述大类情况。我相信这些成果即使脱离了编译器也有一定的意义,因为目前使用的描述这类系统的方法并不十分令人满意。...

在语言发展得相当好之前,编译器的工作不能开始,但现在似乎已经达到了这个阶段。对这部分工作感兴趣的专家程序员明天将与我见面。在我们之前的会面中,他一直相当乐观。[7].

这位 "专家程序员 "是Ole-Johan Dahl。与Nygaard合作,Dahl提出了面向对象编程的最初想法,现在是商业和工业应用编程的主流风格。Dahl于1963年加入NCC,并在那里呆到1968年,当时他被邀请成为奥斯陆大学的正式教授。

Dahl和Nygaard一起开发的语言,首先(1962-1964)是一种叫做SIMULA的仿真语言,现在通常被称为SIMULA I,随后是一种叫做SIMULA 67的通用语言。

SIMULA I旨在用于描述复杂的系统和对其行为进行编程模拟。Nygaard写道。

SIMULA[I]应该给它的用户提供一套概念,他们可以根据这些概念来理解所考虑的系统,并提供一种语言来精确和完整地描述其属性。因此,它应该是一个工具,既适用于编写描述的人,也适用于他想与之交流系统的人。

同时,在添加了必要的输入/输出和数据分析信息后,这个系统描述应该可以编译成一个计算机模拟程序,提供关于系统行为的定量信息。[8].

尽管被设计为一种仿真语言,但几乎从一开始,SIMULA I就不仅用于仿真,而且还用于通用编程。它向用户介绍了将他们的程序组织成一个相互作用的、可执行的组件系统的想法,这一想法被证明对广泛的应用很有用。这些相互作用的组件成为SIMULA 67的 "对象"。

SIMULA 67从一开始就被设计成一种通用语言,但Dahl和Nygaard发明了一种机制(类前缀),使SIMULA I的特定仿真功能在SIMULA 67中作为一种特殊的库使用。前缀可以以两种相当不同的方式使用,这就产生了现代编程语言中的两个最重要的想法:继承和模块,前者使人们很容易以意想不到的方式重复使用代码,后者则用于扩展编程语言的词汇。

这些思想--对象、继承和模块化--是Dahl和Nygaard对编程学科的主要贡献之一。SIMULA还贡献了进程概念,使程序员能够表达同时进行的活动。所有这些想法都以一种单一的语言机制--类--的不同使用方式来实现,非常经济。

Dahl和Nygaard在创造面向对象的思想方面的成功,部分原因显然是由于他们非凡的才能。但也有一部分是由于他们非常不同的背景,这使得一个人提出的每一个语言特征都成为另一个人的批评对象。有一个故事说,在1967年的春天,一个新员工用震惊的声音告诉总机接线员:"两个人在楼上走廊的黑板前激烈地打架。我们应该怎么做?" 接线员从办公室出来,听了几秒钟,然后说。"别紧张。这只是达尔和尼加德在讨论SIMULA。"

在达尔搬到奥斯陆大学后,他特意停止了进一步开发SIMULA的工作,并承担了几乎是单枪匹马的责任,将计算机科学作为一门学科在挪威建立起来。在最初的10年里,他是该大学唯一的计算机科学教授。他白天授课,晚上编写教科书,并在同一时间指导多达20名研究生。他致力于研究编程方法,并与Tony Hoare一起编写了名为 "分层程序结构 "的章节,成为著名的《结构化编程》一书的一部分[2]。

达尔后来的工作受到了霍尔对程序进行数学推理的系统的影响。他开始使用并教授这些推理技术,并认为这些技术甚至可以改善非正式产生的程序。1992年,达尔出版了《可验证的程序设计》,其中包括许多他自己的研究成果[9]。在20世纪90年代,他通过设计ABEL语言和对面向对象系统的推理研究,重新回到了面向对象的编程。

Dahl在与淋巴癌的长期斗争后于2002年去世。他和他的妻子Tove有两个孩子,Fredrik和Ingrid。

网络上的Ole-Johan Dahl

世界各地的网络上都有许多关于达尔的文章。在准备这篇文章时,其中一些文章被用作资料来源。

欧莱-约翰-达尔的主页。

Bertrand Meyer,"纪念Ole-Johan Dahl和Kristen Nygaard",以及Nygaard自己为Dahl写的悼词。

虚拟展览。在《信息学背后的人》中。

ACM关于2001年图灵奖的新闻稿

作者:。Andrew P. Black
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|网站地图|关于我们|七月天| ECO中文网 ( 京ICP备06039041号  

GMT+8, 2022-11-30 21:33 , Processed in 0.075360 second(s), 20 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表