Simula is a programming language created in 1965 by Ole-Johan Dahl and Kristen Nygaard.
#350on PLDB | 59Years Old |
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...
Begin
OutText ("Hello World");
Outimage;
End;
! Hello World in Simula;
BEGIN
OutText("Hello World!");
OutImage;
END
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;
Feature | Supported | Example | Token |
---|---|---|---|
Booleans | ✓ | True False | |
Strings | ✓ | "Hello world" | " |
Assignment | ✓ | := | |
Print() Debugging | ✓ | OutText | |
Line Comments | ✓ | ! A comment | ! |
Comments | ✓ | ||
Semantic Indentation | X |