Top 1,000 Features Creators Resources Extensions Blog Explorer CSV Download
GitHub icon


< >

Simula is a programming language created in 1965 by Ole-Johan Dahl.

#322on PLDB 59Years Old

Try now: TIO

Simula is the name of two simulation programming languages, Simula I and Simula 67, developed in the 1960s at the Norwegian Computing Center in Oslo, by Ole-Johan Dahl and Kristen Nygaard. Syntactically, it is a fairly faithful superset of ALGOL 60. Simula 67 introduced objects, classes, inheritance and subclasses, virtual procedures, coroutines, and discrete event simulation, and features garbage collection. Read more on Wikipedia...

Example from hello-world:
Begin OutText ("Hello World"); Outimage; End;
! Hello World in Simula; BEGIN OutText("Hello World!"); OutImage; END
Example from Wikipedia:
Simulation Begin Class FittingRoom; Begin Ref (Head) door; Boolean inUse; Procedure request; Begin If inUse Then Begin Wait (door); door.First.Out; End; inUse:= True; End; Procedure leave; Begin inUse:= False; Activate door.First; End; door:- New Head; End; Procedure report (message); Text message; Begin OutFix (Time, 2, 0); OutText (": " & message); OutImage; End; Process Class Person (pname); Text pname; Begin While True Do Begin Hold (Normal (12, 4, u)); report (pname & " is requesting the fitting room"); fittingroom1.request; report (pname & " has entered the fitting room"); Hold (Normal (3, 1, u)); fittingroom1.leave; report (pname & " has left the fitting room"); End; End; Integer u; Ref (FittingRoom) fittingRoom1; fittingRoom1:- New FittingRoom; Activate New Person ("Sam"); Activate New Person ("Sally"); Activate New Person ("Andy"); Hold (100); End;

Language features

Feature Supported Token Example
Booleans True False
Strings "
"Hello world"
Assignment :=
Print() Debugging OutText
Line Comments !
! A comment
Semantic Indentation X

View source

- Build the next great programming language · About · Acknowledgements · Published by Breck's Lab