Simula
| 本条目没有列出任何参考或来源。(2010年6月8日) |
| Simula | |
|---|---|
| 物件導向 | |
|
发行时间
|
1967年 |
|
設計者
|
奧利-約翰·達爾, 克利斯登·奈加特 |
|
啟發語言
|
ALGOL 60 |
|
影響語言
|
物件導向程式設計 |
Simula,一種編譯式的程式語言,在1960年代在奧斯陸的挪威電子計算中心(Norwegian Computing Center)開始被發展出來,主要的設計者是奧利-約翰·達爾(Ole-Johan Dahl)與克利斯登·奈加特。它可以被分成 Simula I 與 Simula 67 兩種。它承繼了ALGOL 60的基礎,被認為是第一個物件導向程式設計的程式語言。
Simula影響了Smalltalk以及接下來所有的物件導向程式設計程式語言,如比雅尼·斯特劳斯特鲁普在設計C++語言時,將許多Simula 67的特性引入C++之中。
歷史 [编辑]
克利斯登·奈加特在1957年開始在自己的電腦上寫模擬器。為了發展他的模擬器,他需要更強大的程式語言。1962年1月,奧利-約翰·達爾開始跟他合作。他們受到ALGOL 60的啟發,在同年5月,發展出第一個模擬器程式語言,取名為 Simula I。此時,克利斯登·奈加特受到 UNIVAC 邀請,去協助他們開發UNIVAC 1107電腦。他向 UNIVAC 軟體部門的主管,鮑伯·貝莫(Bob Bemer),展示了 Simula的想法。鮑伯·貝莫是 ALGOL 忠實的支持者,他看出 Simula計劃的潛力。鮑伯·貝莫同時負責主辦國際資訊處理協會(IFIP)所舉行的第二次國際會議,他力邀克利斯登·奈加特前往發表論文,論文主題是「SIMULA-擴展ALGOL到離散事件網路的描述」(SIMULA—An Extension of ALGOL to the Description of Discrete-Event Networks)。
1963年8月,挪威電子計算中心以優惠價格購買到UNIVAC 1107,在UNIVAC的合約同意下,奧利-約翰·達爾在這台電腦上安裝了 Simula I。它是以 ALGOL 60 的編譯器來實作的。1965年1月,Simula I終於可以在 UNIVAC 1107 上完全的運作。接下來幾年,克利斯登·奈加特與奧利-約翰·達爾致力於教授 Simula I。Simula I也被移植到 Burroughs B5500 電腦,以及蘇俄的 URAL-16 電腦上。
1966年,東尼·霍爾首次提出類別的概念,克利斯登·奈加特與奧利-約翰·達爾將他的概念,擴展為類別與繼承。1967年5月,他們在奧斯陸舉辦的 IFIP 工作小組論壇中,發表了論文,形成 Simula 67的第一份定義文件。
1968年召開的會議,則組成了SIMULA標準小組(SIMULA Standards Group, SSG),發表了第一份官方Simula標準文件。
程式範例 [编辑]
Simula的Hello World範例:
Begin
OutText ("Hello World!");
Outimage;
End;