-
-
Notifications
You must be signed in to change notification settings - Fork 85
/
simula.scroll
135 lines (119 loc) · 6.47 KB
/
simula.scroll
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
import ../code/conceptPage.scroll
id simula
name Simula
appeared 1965
creators Ole-Johan Dahl
tags pl
influencedBy algol-60
tryItOnline simula
visualParadigm false
fileType text
documentation https://portablesimula.github.io/github.io/doc/SimulaTextBook.pdf
rosettaCode http://www.rosettacode.org/wiki/Category:Simula
centralPackageRepositoryCount 0
country Norway
originCommunity Norwegian Computing Center
helloWorldCollection Simula
! Hello World in Simula;
BEGIN
OutText("Hello World!");
OutImage;
END
leachim6 Simula
filepath s/Simula.sim
fileExtensions sim
example
Begin
OutText ("Hello World");
Outimage;
End;
lineCommentToken !
printToken OutText
assignmentToken :=
stringToken "
booleanTokens True False
hasComments true
hasLineComments true
! A comment
hasPrintDebugging true
hasSemanticIndentation false
hasAssignment true
hasStrings true
"Hello world"
hasBooleans true
wikipedia https://en.wikipedia.org/wiki/Simula
example
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;
related algol-60 object-pascal java csharp algol smalltalk beta doi isbn
summary 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. Also other forms of subtyping (besides inheriting subclasses) were introduced in Simula derivatives. Simula is considered the first object-oriented programming language. As its name suggests, Simula was designed for doing simulations, and the needs of that domain provided the framework for many of the features of object-oriented languages today. Simula has been used in a wide range of applications such as simulating VLSI designs, process modeling, protocols, algorithms, and other applications such as typesetting, computer graphics, and education. The influence of Simula is often understated, and Simula-type objects are reimplemented in C++, Object Pascal, Java, C# and several other languages. Computer scientists such as Bjarne Stroustrup, creator of C++, and James Gosling, creator of Java, have acknowledged Simula as a major influence.
pageId 29513
dailyPageViews 218
created 2002
backlinksCount 153
revisionCount 435
appeared 1965
hopl https://hopl.info/showlanguage.prx?exp=170
tiobe Simula
isbndb 3
year|publisher|title|authors|isbn13
1989-11-01T00:00:01Z|Addison-Wesley|Object-Oriented Programming With Simula (International Computer Science Series)|Kirkerud, Bjorn|9780201175745
1987|Alfred Waller Ltd|An Introduction to Programming in Simula (Computer Science Texts)|Pooley, R. J.|9780632016112
1987|Alfred Waller Ltd|Introduction To Programming With Simula (computer Science Texts)|R. J. Pooley|9780632014224
semanticScholar 14
year|title|doi|citations|influentialCitations|authors|paperId
1972|General Concepts of the Simula 67 Programming Language|10.1016/0066-4138(72)90004-3|18|0|J. Ichbiah and S. Morse|b960d635e5452df1e01b52de7c9e0f2c1e6ecee7
1980|An Abstract Type for Statistics Collection in Simula|10.1145/357114.357118|14|0|C. Landwehr|527d7f67574dba3a8ae98cd8ca14aee9e3d74350
1986|Object-oriented simulation—Ada, C++, Simula|10.1145/318242.318278|7|0|B. Unger|b3e4886211aca2b370165510714fcc394a145ccc
1968|A comparison between simula and fortran|10.1007/BF01933421|6|0|J. Palme|dbeb6a36b04553de59c6aa5328605f7a8c84c8be
1971|Simulation data structures using SIMULA 67|10.1145/800294.811447|6|1|J. Vaucher|22ef52b7ff6713f19e0b0a0521241e34e676e4c2
1984|An Outline of the Programming Language Simula|10.1016/0096-0551(84)90018-3|6|0|M. Papazoglou and P. Georgiadis and D. Maritsas|80191d485bfa1963ee27d0d877a0ad36dd6f1c52
1976|Evaluation of ALGOL 68, JOVIAL J3B, PASCAL, SIMULA 67, and TACPOL vs. TINMAN Requirements for a Common High Order Programming Language.|10.21236/ada033893|3|0|J. Goodenough and C. McGowan and J. R. Kelly|be654e5389930136859ef4263619d9f59a5ee216
1982|Uses of the SIMULA process concept|10.1002/spe.4380120205|2|0|J. Palme|32efb94171675f3c5931f3c463006e4e2cde195c
2007|An Accidental Simula User|10.1007/978-3-540-73589-2_10|2|0|L. Cardelli|ff6f1c49ff00efa483807fae71ef2a0f2baf6a04
2007|Celebrating 40 years of language evolution: simula 67 to the present and beyond|10.1145/1297846.1297971|2|0|S. Fraser and James Gosling and Anders Hejlsberg and O. Madsen and B. Meyer and G. Steele|83da4c78b3244a29958643c508918bbcacaf966a
1978|ACM SIGPLAN history of programming languages conference SIMULA language summary|10.1145/960118.808390|2|0|W. Franta|75b608fd523e890864babecbd61c402c817cc4e5
1986|Ada, as seen from Simula|10.1002/j.1097-024X.1986.tb00001.x|1|0|S. Krogdahl and K. A. Olsen|9b52e08be43911cf540732b3afc9c2aa93a83823
1976|Experience from the standardization of the SIMULA programming language|10.1002/spe.4380060314|1|0|J. Palme|785beabc4eb91d414c0cbf015824057586d0bb72
1981|The class concept in the Simula programming language|10.1145/800142.805365|1|0|J. Palme and M. Wallin|2a07093ebd4db925ac02c36887b37eb2b7ccef37
goodreads
title|year|author|goodreadsId|rating|ratings|reviews
Object-Oriented Programming with SIMULA|1989|Bjørn Kirkerud|3923315|0.0|0|0
Anti-fragile ICT Systems (Simula SpringerBriefs on Computing)||Kjell Jørgen Hole|61222579|3.00|1|0