Simula, le père des langages à classes.

(Simple universal language)

Nolwenn
2 min readMay 14, 2017

Avant Simula, les langages de programmation étaient souvent chacun utilisés pour des domaines particuliers. Schématiquement, si vous étiez ingénieur ou scientifique, vous utilisiez du Fortran ; alors que si vous étiez un “business man”, vous aviez plutôt recours à du COBOL.

C’est alors que dans les années 60, deux informaticiens du Norwegian Computing Center — Ole-Johan Dahl et Kristen Nygaard — ont cherché à construire un langage de haut niveau et applicable à tous les domaines souhaitables. 1962 voit la naissance de Simula 1, influencé par Algol60 ; puis en 1967 Simula67 prend la relève.

Comme son nom le suggère, Simula a été conçu pour faire de la simulation, plus particulièrement de la simulation orientée événements discrets (System class Simulation).

Cependant, la révolution apportée par Simula tient davantage dans son nouveau concept : les classes. Ces entités vont nous permettre de représenter dans notre programme un concept lié à notre domaine d’application. Les objets appartenant à une même classe pourront partager des caractéristiques similaires.

Principales parties et interfaces de l’environnement Simula (http://staff.um.edu.mt/jskl1/talk.html)

Les classes sont construites à partir de paramètres, d‘attributs, de méthodes et d’un corps.

Exemple de déclaration d’une classe Carre

Par ailleurs, Simula va nous permettre de mettre en relation ces classes en les hiérarchisant. On se rapproche de la programmation orienté objet (POO).

Exemple d’implémentation d’une classe mère et de classes filles (sous-classes)

Et maintenant ?

Simula n’a jamais réussi à devenir un langage largement répandu, du fait de sa complexité, du manque de publications ou encore au niveau POO de l’absence d’héritage multiple ou d’interfaces

Néanmoins Simula a été un déclencheur d’inspiration pour des langages orientés-objets plus performants tels que Smalltalk, C++, et bien d’autres.

“ Simula 67 a été une importante source d’inspiration pour développer C++, qui combine l’accessibilité et le concept de classes apportés par Simula avec une haute vitesse de calcul offerte par des langages de plus bas niveau comme BCPL.” Bjarne Stroustrup, créateur de C++, https://www.youtube.com/watch?v=JBjjnqG0BP8

--

--