SIMULA
Retour histoire langages
mise à jour 05-Jan-2003
en construction
SIMULA 67
Simula 67 fut inventé entre 1962 et 1967 par les Norvégiens Ole-Johan Dahl (1931-2002) et Kristen Nygaard (1926-2002) au Norwegian Computing Center (NCC) de Oslo.
A l'origine Simula était un langage destiné à la simulation d'évènements
discrets en recherche opérationnelle, mais il fut progressivement étendu comme
un langage universel. Il est considéré comme le premier langage orienté
objet. Comme la plupart des langages européens inventés dans les années 1960,
Simula s'inspire de Algol 60 dont il diffère cependant, dans les appels de
procédures, par le passage de paramètres par valeur (et non par nom).
Simula introduit la notion de classe et d'objet, plus tard
utilisé dans Smalltalk et C++.
Le développement fut entrepris sur un Univac 1107 à Oslo à partir de 1963. Deux Américains (le Dr Rader et Bob Bemer) ,alors à Univac et qui furent connues à Bull-General Electric, contribuèrent à la fourniture d'un Univac 1107 à Oslo décidée en octobre 1962
Au début, l'idée des développeurs était de faire de Simula
un préprocesseur de Algol 60, mais ils abandonnèrent la gestion de mémoire en
piles sous-entendue par Algol pour adopter une gestion de mémoire en listes de
blocs.
La simulation d'évènements conduisit à adopter un système de processus
coopératifs (qui deviendront plus tard des objets). Simula I fut
opérationnel sur le 1107 en décembre 1964.
La seconde version du langage (Simula 67) fut présentée à l'IFIP en mai 1967. Ele ajoutait des concepts de classe d'enregistrements (record class) inventé par Hoare et de sous-classes.
Histoire:
Simula fut porté, entre autres, sur GE-635 au cours des années 1960. La plupart des portages sur IBM, DEC... eurent lieu en Norvège ou en Suède.
A partir de mai 1967, Jacques Newey (un ancien de Bull-GE, alors à CDC France) réalisa un premier compilateur Simula 67 sur CDC 6600 pour le CERN.
En France, Simula fut développé sous Siris 7 (et 8) sur CII 10170 et Iris 80 en 1972.
Dans les années 1970, Simula fut utilisé par le groupe de Alan Kay au Xerox PARC pour développer Smalltalk.
Simula ne sortit guère de son environnement universitaire et ne fut guère perfectionné après 1968. Il ne fut pas utilisé sur des ordinateurs personnels et souffre de son environnement de développement peu convivial, celui des années 1960. Sur le plan du langgae proprement dit, il n'a pas adopté la généralisation du concept d'héritage multiple, base des nouveaux langages orientés objets.
Syntaxe:
Begin
while 1=1 do begin
outtext("Hello
World!);
outimage;
end;
End;
Une description du projet Simula par Jaroslav
Sklenar. (université de Malte) citant l'histoire de Simula décrite en
détail par Jan
Rune Holmevik (université de Trondheim, Norvège).
On trouvera en français une introduction à Simula par Jean
Vaucher (université de Montréal)
Une description formelle du langage par Rob Pooley
Une version du compilateur Simula sur Unix et Win32 (freeware par Petr Nowak)
est disponible.
Elle est disponible en source. Un autre port
est également disponible sur Macintosh.