编程范型 | 多范型: 指令式, 过程式, 结构化, 物件導向, 并发 |
---|---|
設計者 | 奧利-約翰·達爾 |
實作者 | 克利斯登·奈加特 |
发行时间 | 1962年 1967年 (Simula 67) | (Simula I)
当前版本 |
|
型態系統 | 静态、名称式 |
作用域 | 词法 |
實作語言 | 主要为ALGOL 60(有一些Simscript成份) |
操作系统 | 类Unix系统、Windows、z/OS、TOPS-10、MVS |
主要實作產品 | |
Portable Simula Revisited[2], GNU Cim[3] | |
啟發語言 | |
ALGOL 60, Simscript[4] | |
影響語言 | |
Smalltalk[5]、CLU[6]、C++、BETA、Object Pascal、Modula-3、Java |
Simula,一種編譯式的程式語言,由奧利-約翰·達爾與克利斯登·奈加特,在1960年代於挪威奧斯陸的挪威计算中心,開發出來了Simula I與Simula 67兩代。它承繼了ALGOL 60作為基礎,被認為是第一個物件導向程式設計的程式語言。
Simula 67介入了对象、类、子类(后来惯称为子类继承超类)、虚过程[8],还有协程、离散事件模拟和特征性的垃圾收集[9]。Simula的影響经常被低估[10],Smalltalk[5]、CLU[6]、C++、Object Pascal、Modula-3、Java和后来的很多编程语言,受到了Simula 67的启发。BETA是Simula的现代后继者。
psim
的参考文献提供内容cim
的参考文献提供内容SIMSCRIPT was the only simulation language that we were closely acquainted with during the design phase of SIMULA. From the preceding sections it will be evident that it had a considerable impact through its list processing and time scheduling mechanisms. It also contained a set of random drawing and other utility routines, which served as a model for our procedure library.
st
的参考文献提供内容Programming languages that existed when the concept of data abstraction arose did not support abstract data types, but some languages contained constructs that were precursors of this notion. …… The mechanism that matched the best was the class mechanism of Simula 67. A Simula class groups a set of procedures with some variables. A class can be instantiated to provide an object containing its own copies of the variables; the class contains code that initializes these variables at instantiation time. However, Simula classes did not enforce encapsulation ……, and Simula was lacking several other features needed to support data abstraction, …….
std86
的参考文献提供内容virt
的参考文献提供内容gc
的参考文献提供内容infl
的参考文献提供内容