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.