586:
3158:
2824:
2814:
3130:
52:
701:(ACM), with the citation: "For ideas fundamental to the emergence of object oriented programming, through their design of the programming languages Simula I and Simula 67." Dahl and Nygaard died in June and August of that year, respectively, before the ACM Turing Award Lecture that was scheduled to be delivered at the November 2002
1344:
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
1224:
Sam, Sally, and Andy are shopping for clothes. They must share one fitting room. Each one of them is browsing the store for about 12 minutes and then uses the fitting room exclusively for about three minutes, each following a normal distribution. A simulation of their fitting room experience is as
544:
compiler. SIMULA I was fully operational on the UNIVAC 1107 by
January 1965. In the following few years, Dahl and Nygaard spent a lot of time teaching Simula. Simula spread to several countries around the world and SIMULA I was later implemented on other computers including the
560:
introduced the concept of record class construct, which Dahl and
Nygaard extended with the concept of prefixing and other features to meet their requirements for a generalized process concept. Dahl and Nygaard presented their paper on
581:
and the class concept. This led to serious discussions, and the proposal was rejected by the board. Simula 67 was formally standardized on the first meeting of the Simula
Standards Group (SSG) in February 1968.
577:, May 1967. This paper became the first formal definition of Simula 67. In June 1967, a conference was held to standardize the language and initiate a number of implementations. Dahl proposed to unify the
1658:
Lehrmann Madsen, Ole (2014). "Building Safe
Concurrency Abstractions". In Agha, Gul; Igarashi, Atsushi; Kobayashi, Naoki; Masuhara, Hidehiko; Matsuoka, Satoshi; Shibayama, Etsuya; Taura, Kenjiro (eds.).
1429:
The main program creates all the objects and activates all the person objects to put them into the event queue. The main program holds for 100 minutes of simulated time before the program terminates.
1426:
and its activity is described using hold (time for browsing the store and time spent in the fitting room) and calls procedures in the fitting room object for requesting and leaving the fitting room.
1194:
1543:
Kristen
Nygaard and Ole-Johan Dahl. 1978. The development of the SIMULA languages. History of programming languages. Association for Computing Machinery, New York, NY, USA, 439–480. DOI:
2215:
2206:
693:"For the introduction of the concepts underlying object-oriented programming through the design and implementation of SIMULA 67". In April 2002, they received the 2001 A. M.
526:
690:
395:; Simula 67 though was designed to be a general-purpose programming language and provided the framework for many of the features of object-oriented languages today.
2862:
1053:
3197:
295:
2043:
1881:
654:
3187:
3146:
2818:
540:
in August 1963 at a considerable discount, on which Dahl implemented the SIMULA I under contract with UNIVAC. The implementation was based on the UNIVAC
1397:
for enabling simulation. The simulation package can be used on any block and simulations can even be nested when simulating someone doing simulations.
3207:
3202:
357:
665:
implemented the concept of public, protected, and private member variables and procedures, that later was integrated into Simula
Standard in 1986.
502:
3151:
715:
named after the Simula language, and
Nygaard held a part-time position there from the opening in 2001. The new Computer Science building at the
3141:
2392:
2278:
2130:
1676:
377:
2882:
2855:
2505:
2237:
2189:
1899:
698:
64:
2500:
2887:
2549:
2429:
991:
529:(IFIP). He invited Nygaard, who presented the paper "SIMULA – An Extension of ALGOL to the Description of Discrete-Event Networks".
2796:
2892:
2738:
990:. This means that in the above example, all classes can be instantiated. Calling a pure virtual procedure will however produce a
464:
started writing computer simulation programs in 1957. Nygaard saw a need for a better way to describe the heterogeneity and the
2258:
1874:
1739:
1404:) for getting access to the fitting room. When someone requests the fitting room and it's in use they must wait in this queue (
668:
Simula
Standard 1986 is the latest standard and is ported to a wide range of platforms. There are mainly four implementations:
3212:
3161:
3093:
2966:
2848:
1818:
610:
465:
439:
330:
279:
1124:
1109:
for the controlling variable (k) and the expression (u). This allows the controlling variable to be used in the expression.
3192:
3136:
3114:
3068:
3041:
3016:
2976:
1632:
1506:
955:
585:
283:
275:
3108:
3011:
2981:
745:
562:
399:
353:
3083:
3078:
3021:
3001:
2079:
1975:
987:
959:
686:
598:
566:
435:
388:
361:
267:
143:
80:
1808:
589:
Pages from the DECsystem-10 SIMULA Language
Handbook, as published by the Swedish National Defence Research Institute
1481:
3026:
2922:
2905:
2374:
2074:
2058:
1867:
708:
624:
533:
314:
271:
3182:
3036:
2991:
2295:
1583:
1214:
373:
349:
3073:
2956:
2268:
2173:
180:
175:
2567:
2263:
2143:
2011:
546:
2942:
2210:
407:
76:
72:
68:
1557:
2649:
2421:
2364:
2273:
2232:
2157:
2068:
1845:
1765:
2871:
1500:
491:
476:
310:
59:
2947:
2683:
2339:
1938:
1033:
776:
570:
307:
168:
2659:
2439:
2334:
2022:
1908:
1682:
1606:
716:
712:
644:
109:
2138:
1010:
1112:
Note that the Simula standard allows for certain restrictions on the controlling variable in a
2927:
2828:
2664:
2539:
2434:
2354:
1814:
1672:
1532:
The development of .. SIMULA I and SIMULA 67... were influenced by the design of SIMSCRIPT ...
472:
443:
419:
38:
616:
In the late sixties and the early seventies, there were four main implementations of Simula:
426:. The influence of Simula is often understated, and Simula-type objects are reimplemented in
17:
2758:
2753:
2672:
2554:
1664:
1598:
983:
971:
800:
737:
719:
is named Ole Johan Dahl's House, in Dahl's honour, and the main auditorium is named Simula.
403:
365:
202:
1408:). When someone leaves the fitting room the first one (if any) is released from the queue (
1038:
2715:
2699:
2691:
2595:
2520:
2449:
2119:
1520:
1477:
1013:
can easily be implemented. However, the default transmission mode for simple parameter is
550:
469:
461:
326:
114:
97:
31:
525:
of a session at the second international conference on information processing hosted by
498:
was born, a special purpose programming language for simulating discrete event systems.
2771:
2590:
2477:
2454:
2387:
2359:
2242:
2001:
1473:
979:
975:
557:
480:
322:
102:
1635:. Oslo, Norway: Institute for Studies in Research and Higher Education. Archived from
3176:
3046:
2707:
2620:
2528:
2515:
2495:
2444:
2038:
2005:
1014:
994:
733:
447:
431:
1743:
1610:
3098:
2937:
2748:
2743:
2720:
2654:
2628:
2572:
2544:
2485:
2344:
1686:
1663:. Lecture Notes in Computer Science. Vol. 8665. Berlin: Springer. p. 68.
1106:
1026:
1022:
1006:
764:
694:
978:. The execution starts by executing the main program. Simula lacks the concept of
2636:
1217:. This simulation package is based on Simula's object-oriented features and its
811:
A more realistic example with use of classes, subclasses and virtual procedures:
751:
However, the minimal program is more conveniently represented as an empty block:
2733:
2641:
2490:
2467:
2462:
2382:
2349:
2329:
741:
602:
537:
522:
506:
483:
joined him on his work
January 1962. The decision of linking the language up to
415:
391:. As its name suggests, the first Simula version by 1962 was designed for doing
164:
159:
30:
This article is about the programming language. For the village in Estonia, see
1636:
3006:
2559:
2510:
2472:
1971:
1966:
1714:
1668:
1487:(Report). Norwegian Computing Center. Archived from the original on 2013-12-25
1210:
634:
630:
488:
392:
1524:
3103:
2195:
1981:
1961:
1946:
1218:
606:
594:
578:
510:
423:
411:
381:
369:
342:
287:
255:
207:
194:
475:
for describing a system, Nygaard realized that he needed someone with more
51:
1824:
2791:
2786:
2609:
2406:
2317:
2102:
2098:
1928:
1923:
1918:
1544:
1113:
640:
541:
484:
338:
251:
190:
2840:
458:
The following account is based on Jan Rune Holmevik's historical essay.
398:
Simula has been used in a wide range of applications such as simulating
2996:
2986:
2094:
1996:
1991:
1986:
763:
It begins executing and immediately terminates. The language lacks any
662:
650:
384:(besides inheriting subclasses) were introduced in Simula derivatives.
219:
211:
1602:
1116:. The above code therefore uses a while loop for maximum portability.
3063:
3031:
2084:
2063:
1854:
702:
620:
514:
334:
1859:
1850:
1700:
661:
These implementations were ported to a wide range of platforms. The
2961:
2201:
Euro-Asian Council for Standardization, Metrology and Certification
427:
291:
2971:
2932:
2910:
2183:
2113:
2089:
2053:
2016:
1951:
1890:
1018:
584:
518:
509:
computer. At that visit, Nygaard presented the ideas of Simula to
450:, creator of Java, have acknowledged Simula as a major influence.
90:
1025:. The source code for the Jensen's Device must therefore specify
3053:
2200:
2047:
2033:
2027:
1956:
1792:
1316:
OutFix (Time, 2, 0); OutText (": " & message); OutImage;
574:
318:
215:
2844:
1863:
1584:"Compiling Simula: A historical study of technological genesis"
3088:
3058:
223:
487:
was made shortly after. By May 1962, the main concepts for a
521:
fan and found the Simula project compelling. Bemer was also
505:
late May 1962 in connection with the marketing of their new
1840:
234:
1846:(last working version at archive.org, accessed 2022-02-26)
1793:"IBM System 360/370 Compiler and Historical Documentation"
1795:(The Simula Standard and other historical documentation).
605:
of concurrent computation although Simula only supports
442:, and many other languages. Computer scientists such as
313:, Simula I and Simula 67, developed in the 1960s at the
1029:
for the parameters when compiled by a Simula compiler.
1189:{\displaystyle Z=\sum _{i=1}^{100}{1 \over (i+a)^{2}}}
1127:
1041:
685:
In November 2001, Dahl and Nygaard were awarded the
2809:^ = full name and link in prior ALGOL version above
2780:
2608:
2581:
2405:
2373:
2316:
2309:
2288:
2251:
2225:
2207:
International Federation for Information Processing
2172:
2165:
2156:
2129:
1937:
1907:
1898:
1740:"ACM Ole-Johan Dahl and Kristen Nygaard - Obituary"
1264:Wait (door); door.First.Out;
527:
International Federation for Information Processing
261:
245:
229:
201:
186:
174:
158:
142:
120:
108:
96:
86:
58:
1188:
1047:
691:Institute of Electrical and Electronics Engineers
1415:) and accordingly removed from the door queue (
569:declarations at the IFIP Working Conference on
468:of a system. To go further with his ideas on a
2046:(ESPOL) → New Executive Programming Language (
1361:(FittingRoom) fittingRoom1; fittingRoom1:-
2856:
1875:
1468:
1466:
1464:
1462:
903:elements (i).print; OutImage;
593:Simula was influential in the development of
8:
2216:Society of Applied Mathematics and Mechanics
1460:
1458:
1456:
1454:
1452:
1450:
1448:
1446:
1444:
1442:
44:
2044:Executive Systems Problem Oriented Language
655:Swedish National Defence Research Institute
341:, and was also influenced by the design of
3129:
2863:
2849:
2841:
2411:
2322:
2313:
2169:
2162:
1904:
1882:
1868:
1860:
807:Classes, subclasses and virtual procedures
389:first object-oriented programming language
43:
27:Early object-oriented programming language
1525:"The Development of the Simula Languages"
1201:Z:= Sigma (i, 1, 100, 1 / (i + a) ** 2);
1177:
1155:
1149:
1138:
1126:
1040:
744:. It consists of one thing only; a dummy
647:'s Joint Computer Installation at Kjeller
513:, the director of systems programming at
501:Kristen Nygaard was invited to visit the
1810:An Introduction to Programming in Simula
1591:IEEE Annals of the History of Computing
1438:
740:in Simula, measured by the size of the
1545:https://doi.org/10.1145/800025.1198392
1498:
1400:The fitting room object uses a queue (
601:languages. It also helped inspire the
3198:Programming languages created in 1962
2279:Massachusetts Institute of Technology
1055:which can be implemented as follows:
296:object-oriented programming languages
7:
1198:can then be implemented as follows:
1032:Another much simpler example is the
2190:Association for Computing Machinery
2112:Small Machine ALGOL Like Language (
699:Association for Computing Machinery
503:Eckert–Mauchly Computer Corporation
25:
3188:Class-based programming languages
414:, and other applications such as
3208:Simulation programming languages
3203:Science and technology in Norway
3157:
3156:
3128:
2823:
2822:
2813:
2812:
1393:The main block is prefixed with
1386:Person ("Andy"); Hold (100);
50:
2787:ALGOL 58 influence on ALGOL 60
1174:
1161:
857:print; OutChar(c);
1:
1661:Concurrent Objects and Beyond
1558:"Before C, What Did You Use?"
18:Simula (programming language)
2259:Case Institute of Technology
400:very-large-scale integration
193:(primarily; some components
2792:ALGOL 68 to other languages
1766:"ACM Turing Award Lectures"
1715:"Portable Simula Revisited"
1582:Holmevik, Jan Rune (1994).
687:IEEE John von Neumann Medal
599:object-oriented programming
126:; 62 years ago
3229:
1215:discrete event simulations
982:, since classes with pure
954:The above example has one
709:Simula Research Laboratory
625:Norwegian Computing Center
534:Norwegian Computing Center
315:Norwegian Computing Center
36:
29:
3124:
2901:
2878:
2804:
2414:
2325:
2296:Royal Radar Establishment
1851:Portable Simula Revisited
1768:. Informatik.uni-trier.de
1742:. Acm.org. Archived from
1669:10.1007/978-3-662-44471-9
1505:: CS1 maint: unfit URL (
947:Line (rgs); rg.print;
939:Char ('b'); rgs (4):-
935:Char ('b'); rgs (3):-
931:Char ('A'); rgs (2):-
899:UpperBound (elements, 1)
681:Portable Simula Revisited
387:Simula is considered the
374:discrete event simulation
266:
250:
154:
138:
49:
2269:University of St Andrews
1422:Person is a subclass of
37:Not to be confused with
2568:Adriaan van Wijngaarden
2264:University of Edinburgh
2144:Van Wijngaarden grammar
1064:Sigma (k, m, n, u);
865:Line (elements);
705:conference in Seattle.
408:communication protocols
333:, it is an approximate
187:Implementation language
149:Simula 67, Simula I
2211:IFIP Working Group 2.1
1190:
1154:
1094:s:= s + u; k:= k + 1;
1049:
788:("Hello, World!");
590:
446:, creator of C++, and
3213:Programming languages
2872:Programming languages
2650:Cornelis H. A. Koster
2422:Roland Carl Backhouse
2365:Joseph Henry Wegstein
2274:Manchester University
2233:Burroughs Corporation
1813:, Alfred Waller Ltd,
1379:Person ("Sally");
1191:
1134:
1050:
1048:{\displaystyle \sum }
923:rgs (1 : 4);
588:
348:Simula 67 introduced
311:programming languages
3193:Norwegian inventions
1807:Pooley, Rob (1987),
1631:Holmevik, Jan Rune.
1482:Common Base Language
1125:
1105:The above code uses
1039:
943:Char ('a'); rg:-
571:simulation languages
517:. Bemer was a great
479:skills than he had.
477:computer programming
2684:Willem van der Poel
2340:Hermann Bottenbruch
1476:; Myhrhaug, Bjørn;
1372:Person ("Sam");
1268:; inUse:=
1242:(Head) door;
777:Hello world program
771:Classic Hello world
306:is the name of two
121:First appeared
46:
2829:Category: ALGOL 60
2660:Charles H. Lindsey
2440:Edsger W. Dijkstra
2335:Friedrich L. Bauer
2023:Dartmouth ALGOL 30
1791:Sylvester, Peter.
1633:"Compiling Simula"
1308:report (message);
1292:door.First;
1213:package for doing
1209:Simula includes a
1186:
1045:
1034:summation function
984:virtual procedures
767:from the program.
717:University of Oslo
713:research institute
645:University of Oslo
591:
378:garbage collection
366:virtual procedures
3170:
3169:
3152:Non-English-based
2838:
2837:
2767:
2766:
2729:
2728:
2665:Barry J. Mailloux
2604:
2603:
2540:Jacob T. Schwartz
2435:Stephen R. Bourne
2401:
2400:
2355:Heinz Rutishauser
2305:
2304:
2152:
2151:
1678:978-3-662-44471-9
1603:10.1109/85.329756
1562:Electronic Design
1184:
972:virtual procedure
958:(Glyph) with two
473:computer language
444:Bjarne Stroustrup
420:computer graphics
380:. Other forms of
301:
300:
294:, and many other
160:Typing discipline
16:(Redirected from
3220:
3183:ALGOL 60 dialect
3160:
3159:
3132:
3131:
2865:
2858:
2851:
2842:
2826:
2825:
2816:
2815:
2759:John C. Reynolds
2704:van Wijngaarden^
2673:Lambert Meertens
2555:Bernard Vauquois
2412:
2393:Robert M. Graham
2323:
2314:
2238:Elliott Brothers
2170:
2163:
1905:
1884:
1877:
1870:
1861:
1844:
1843:
1841:Official website
1828:
1823:, archived from
1796:
1778:
1777:
1775:
1773:
1762:
1756:
1755:
1753:
1751:
1736:
1730:
1729:
1727:
1725:
1711:
1705:
1704:
1697:
1691:
1690:
1655:
1649:
1648:
1646:
1644:
1639:on 20 April 2009
1628:
1622:
1621:
1619:
1617:
1588:
1579:
1573:
1572:
1570:
1568:
1553:
1547:
1541:
1535:
1534:
1529:
1521:Nygaard, Kristen
1517:
1511:
1510:
1504:
1496:
1494:
1492:
1486:
1478:Nygaard, Kristen
1470:
1425:
1418:
1414:
1407:
1403:
1396:
1365:FittingRoom;
1324:Person (pname);
1195:
1193:
1192:
1187:
1185:
1183:
1182:
1181:
1156:
1153:
1148:
1098:; Sigma:= s;
1083:s; k:= m;
1054:
1052:
1051:
1046:
1005:Simula supports
980:abstract classes
970:). There is one
969:
965:
846:Char (c);
801:case-insensitive
775:An example of a
549:and the Russian
404:process modeling
402:(VLSI) designs,
241:
238:
236:
134:
132:
127:
98:Designed by
54:
47:
21:
3228:
3227:
3223:
3222:
3221:
3219:
3218:
3217:
3173:
3172:
3171:
3166:
3120:
2897:
2874:
2869:
2839:
2834:
2819:Category: ALGOL
2811:
2800:
2797:ALGOL 68 to C++
2776:
2763:
2725:
2716:Philip Woodward
2700:Michel Sintzoff
2692:Douglas T. Ross
2600:
2596:Kristen Nygaard
2577:
2521:John E. L. Peck
2450:Robert W. Floyd
2397:
2369:
2301:
2284:
2247:
2221:
2175:
2148:
2139:Jensen's device
2125:
2012:Burroughs ALGOL
1933:
1910:
1900:Implementations
1894:
1888:
1839:
1838:
1835:
1821:
1806:
1803:
1801:Further reading
1790:
1787:
1782:
1781:
1771:
1769:
1764:
1763:
1759:
1749:
1747:
1746:on 19 July 2011
1738:
1737:
1733:
1723:
1721:
1713:
1712:
1708:
1699:
1698:
1694:
1679:
1657:
1656:
1652:
1642:
1640:
1630:
1629:
1625:
1615:
1613:
1586:
1581:
1580:
1576:
1566:
1564:
1556:Wong, William.
1555:
1554:
1550:
1542:
1538:
1527:
1519:
1518:
1514:
1497:
1490:
1488:
1484:
1474:Dahl, Ole-Johan
1472:
1471:
1440:
1435:
1423:
1416:
1409:
1405:
1401:
1394:
1391:
1296:; door:-
1207:
1202:
1173:
1160:
1123:
1122:
1119:The following:
1103:
1037:
1036:
1011:Jensen's Device
1003:
976:implementations
967:
963:
952:
925:! Main program;
915:(Glyph) rg;
809:
797:
773:
761:
736:is the minimal
730:
728:Minimal program
725:
547:Burroughs B5500
462:Kristen Nygaard
456:
376:, and featured
327:Kristen Nygaard
233:
150:
130:
128:
125:
115:Kristen Nygaard
81:object-oriented
42:
35:
32:Simula, Estonia
28:
23:
22:
15:
12:
11:
5:
3226:
3224:
3216:
3215:
3210:
3205:
3200:
3195:
3190:
3185:
3175:
3174:
3168:
3167:
3165:
3164:
3154:
3149:
3144:
3139:
3125:
3122:
3121:
3119:
3118:
3111:
3106:
3101:
3096:
3091:
3086:
3081:
3076:
3071:
3066:
3061:
3056:
3051:
3050:
3049:
3039:
3034:
3029:
3024:
3019:
3014:
3009:
3004:
2999:
2994:
2989:
2984:
2979:
2974:
2969:
2964:
2959:
2954:
2953:
2952:
2951:
2950:
2945:
2930:
2925:
2920:
2919:
2918:
2908:
2902:
2899:
2898:
2896:
2895:
2890:
2885:
2879:
2876:
2875:
2870:
2868:
2867:
2860:
2853:
2845:
2836:
2835:
2833:
2832:
2805:
2802:
2801:
2799:
2794:
2789:
2784:
2782:
2778:
2777:
2775:
2774:
2772:ALGOL Bulletin
2768:
2765:
2764:
2762:
2761:
2756:
2751:
2746:
2741:
2736:
2730:
2727:
2726:
2724:
2723:
2718:
2713:
2710:
2705:
2702:
2697:
2694:
2689:
2686:
2681:
2678:
2675:
2670:
2667:
2662:
2657:
2652:
2647:
2644:
2639:
2634:
2631:
2626:
2623:
2618:
2614:
2612:
2606:
2605:
2602:
2601:
2599:
2598:
2593:
2591:Ole-Johan Dahl
2587:
2585:
2579:
2578:
2576:
2575:
2570:
2565:
2562:
2557:
2552:
2547:
2542:
2537:
2534:
2531:
2526:
2523:
2518:
2513:
2508:
2506:Carroll Morgan
2503:
2498:
2493:
2488:
2483:
2480:
2475:
2470:
2465:
2460:
2457:
2455:Jeremy Gibbons
2452:
2447:
2442:
2437:
2432:
2427:
2424:
2419:
2415:
2409:
2403:
2402:
2399:
2398:
2396:
2395:
2390:
2388:Bernard Galler
2385:
2379:
2377:
2371:
2370:
2368:
2367:
2362:
2360:Klaus Samelson
2357:
2352:
2347:
2342:
2337:
2332:
2326:
2320:
2311:
2307:
2306:
2303:
2302:
2300:
2299:
2292:
2290:
2286:
2285:
2283:
2282:
2276:
2271:
2266:
2261:
2255:
2253:
2249:
2248:
2246:
2245:
2243:Regnecentralen
2240:
2235:
2229:
2227:
2223:
2222:
2220:
2219:
2213:
2204:
2198:
2193:
2187:
2180:
2178:
2167:
2160:
2154:
2153:
2150:
2149:
2147:
2146:
2141:
2135:
2133:
2127:
2126:
2124:
2123:
2117:
2110:
2105:
2092:
2087:
2082:
2077:
2072:
2066:
2061:
2056:
2051:
2041:
2036:
2031:
2025:
2020:
2014:
2009:
2002:Atlas Autocode
1999:
1994:
1989:
1984:
1979:
1969:
1964:
1959:
1954:
1949:
1943:
1941:
1935:
1934:
1932:
1931:
1926:
1921:
1915:
1913:
1902:
1896:
1895:
1889:
1887:
1886:
1879:
1872:
1864:
1858:
1857:
1848:
1834:
1833:External links
1831:
1830:
1829:
1819:
1802:
1799:
1798:
1797:
1786:
1783:
1780:
1779:
1757:
1731:
1706:
1692:
1677:
1650:
1623:
1574:
1548:
1536:
1512:
1437:
1436:
1434:
1431:
1417:door.First.Out
1345:room");
1227:
1206:
1203:
1200:
1180:
1176:
1172:
1169:
1166:
1163:
1159:
1152:
1147:
1144:
1141:
1137:
1133:
1130:
1057:
1044:
1017:, contrary to
1002:
999:
813:
808:
805:
781:
772:
769:
753:
729:
726:
724:
721:
683:
682:
679:
676:
673:
659:
658:
648:
638:
628:
558:C. A. R. Hoare
481:Ole-Johan Dahl
455:
452:
323:Ole-Johan Dahl
299:
298:
264:
263:
259:
258:
248:
247:
243:
242:
231:
227:
226:
205:
199:
198:
188:
184:
183:
178:
172:
171:
162:
156:
155:
152:
151:
148:
146:
144:Stable release
140:
139:
136:
135:
122:
118:
117:
112:
106:
105:
103:Ole-Johan Dahl
100:
94:
93:
88:
84:
83:
65:Multi-paradigm
62:
56:
55:
26:
24:
14:
13:
10:
9:
6:
4:
3:
2:
3225:
3214:
3211:
3209:
3206:
3204:
3201:
3199:
3196:
3194:
3191:
3189:
3186:
3184:
3181:
3180:
3178:
3163:
3155:
3153:
3150:
3148:
3145:
3143:
3140:
3138:
3135:
3127:
3126:
3123:
3117:
3116:
3112:
3110:
3107:
3105:
3102:
3100:
3097:
3095:
3092:
3090:
3087:
3085:
3082:
3080:
3077:
3075:
3072:
3070:
3067:
3065:
3062:
3060:
3057:
3055:
3052:
3048:
3047:Object Pascal
3045:
3044:
3043:
3040:
3038:
3035:
3033:
3030:
3028:
3025:
3023:
3020:
3018:
3015:
3013:
3010:
3008:
3005:
3003:
3000:
2998:
2995:
2993:
2990:
2988:
2985:
2983:
2980:
2978:
2975:
2973:
2970:
2968:
2965:
2963:
2960:
2958:
2955:
2949:
2946:
2944:
2941:
2940:
2939:
2936:
2935:
2934:
2931:
2929:
2926:
2924:
2921:
2917:
2914:
2913:
2912:
2909:
2907:
2904:
2903:
2900:
2894:
2891:
2889:
2886:
2884:
2881:
2880:
2877:
2873:
2866:
2861:
2859:
2854:
2852:
2847:
2846:
2843:
2831:
2830:
2821:
2820:
2810:
2807:
2806:
2803:
2798:
2795:
2793:
2790:
2788:
2785:
2783:
2779:
2773:
2770:
2769:
2760:
2757:
2755:
2754:Peter O'Hearn
2752:
2750:
2747:
2745:
2742:
2740:
2737:
2735:
2732:
2731:
2722:
2719:
2717:
2714:
2711:
2709:
2708:Niklaus Wirth
2706:
2703:
2701:
2698:
2695:
2693:
2690:
2687:
2685:
2682:
2679:
2676:
2674:
2671:
2668:
2666:
2663:
2661:
2658:
2656:
2653:
2651:
2648:
2645:
2643:
2640:
2638:
2635:
2632:
2630:
2627:
2624:
2622:
2621:Susan G. Bond
2619:
2616:
2615:
2613:
2611:
2607:
2597:
2594:
2592:
2589:
2588:
2586:
2584:
2580:
2574:
2571:
2569:
2566:
2563:
2561:
2558:
2556:
2553:
2551:
2548:
2546:
2543:
2541:
2538:
2535:
2532:
2530:
2529:Brian Randell
2527:
2524:
2522:
2519:
2517:
2516:Maurice Nivat
2514:
2512:
2509:
2507:
2504:
2502:
2501:John McCarthy
2499:
2497:
2496:Conor McBride
2494:
2492:
2489:
2487:
2484:
2481:
2479:
2476:
2474:
2471:
2469:
2466:
2464:
2461:
2458:
2456:
2453:
2451:
2448:
2446:
2445:Andrey Ershov
2443:
2441:
2438:
2436:
2433:
2431:
2428:
2425:
2423:
2420:
2417:
2416:
2413:
2410:
2408:
2404:
2394:
2391:
2389:
2386:
2384:
2381:
2380:
2378:
2376:
2372:
2366:
2363:
2361:
2358:
2356:
2353:
2351:
2348:
2346:
2343:
2341:
2338:
2336:
2333:
2331:
2328:
2327:
2324:
2321:
2319:
2315:
2312:
2308:
2297:
2294:
2293:
2291:
2287:
2280:
2277:
2275:
2272:
2270:
2267:
2265:
2262:
2260:
2257:
2256:
2254:
2250:
2244:
2241:
2239:
2236:
2234:
2231:
2230:
2228:
2224:
2217:
2214:
2212:
2208:
2205:
2202:
2199:
2197:
2194:
2191:
2188:
2185:
2182:
2181:
2179:
2177:
2171:
2168:
2166:Organizations
2164:
2161:
2159:
2155:
2145:
2142:
2140:
2137:
2136:
2134:
2132:
2128:
2121:
2118:
2115:
2111:
2109:
2106:
2104:
2100:
2096:
2093:
2091:
2088:
2086:
2083:
2081:
2078:
2076:
2073:
2070:
2067:
2065:
2062:
2060:
2057:
2055:
2052:
2049:
2045:
2042:
2040:
2039:Elliott ALGOL
2037:
2035:
2032:
2029:
2026:
2024:
2021:
2018:
2015:
2013:
2010:
2007:
2006:Edinburgh IMP
2003:
2000:
1998:
1995:
1993:
1990:
1988:
1985:
1983:
1980:
1977:
1973:
1970:
1968:
1965:
1963:
1960:
1958:
1955:
1953:
1950:
1948:
1945:
1944:
1942:
1940:
1936:
1930:
1927:
1925:
1922:
1920:
1917:
1916:
1914:
1912:
1906:
1903:
1901:
1897:
1892:
1885:
1880:
1878:
1873:
1871:
1866:
1865:
1862:
1856:
1852:
1849:
1847:
1842:
1837:
1836:
1832:
1827:on 2004-09-19
1826:
1822:
1816:
1812:
1811:
1805:
1804:
1800:
1794:
1789:
1788:
1784:
1767:
1761:
1758:
1745:
1741:
1735:
1732:
1720:
1716:
1710:
1707:
1702:
1696:
1693:
1688:
1684:
1680:
1674:
1670:
1666:
1662:
1654:
1651:
1638:
1634:
1627:
1624:
1612:
1608:
1604:
1600:
1596:
1592:
1585:
1578:
1575:
1563:
1559:
1552:
1549:
1546:
1540:
1537:
1533:
1526:
1522:
1516:
1513:
1508:
1502:
1483:
1479:
1475:
1469:
1467:
1465:
1463:
1461:
1459:
1457:
1455:
1453:
1451:
1449:
1447:
1445:
1443:
1439:
1432:
1430:
1427:
1420:
1412:
1398:
1389:
1385:
1382:
1378:
1375:
1371:
1368:
1364:
1360:
1356:
1352:
1348:
1343:
1340:
1337:
1334:
1331:
1327:
1323:
1320:; Process
1319:
1315:
1311:
1307:
1303:
1299:
1295:
1291:
1287:
1283:
1279:
1275:
1271:
1267:
1263:
1260:
1256:
1253:
1249:
1246:inUse;
1245:
1241:
1238:
1235:FittingRoom;
1234:
1231:
1226:
1222:
1220:
1216:
1212:
1204:
1199:
1196:
1178:
1170:
1167:
1164:
1157:
1150:
1145:
1142:
1139:
1135:
1131:
1128:
1120:
1117:
1115:
1110:
1108:
1101:
1097:
1093:
1090:
1086:
1082:
1079:
1075:
1071:
1067:
1063:
1060:
1056:
1042:
1035:
1030:
1028:
1024:
1020:
1016:
1015:call by value
1012:
1008:
1000:
998:
996:
993:
989:
985:
981:
977:
973:
961:
957:
950:
946:
942:
938:
934:
930:
926:
922:
918:
914:
910:
906:
902:
898:
894:
890:
886:
883:
880:print;
879:
876:
873:elements;
872:
868:
864:
860:
856:
853:
849:
845:
841:
838:
834:
831:
827:
823:
820:Glyph;
819:
816:
812:
806:
804:
802:
795:
791:
787:
784:
780:
778:
770:
768:
766:
759:
756:
752:
749:
747:
743:
739:
735:
734:computer file
727:
722:
720:
718:
714:
710:
706:
704:
700:
696:
692:
688:
680:
677:
674:
671:
670:
669:
666:
664:
656:
652:
649:
646:
642:
639:
636:
632:
629:
626:
622:
619:
618:
617:
614:
612:
609:and not true
608:
604:
600:
596:
587:
583:
580:
576:
572:
568:
564:
559:
554:
552:
548:
543:
539:
535:
530:
528:
524:
520:
516:
512:
508:
504:
499:
497:
493:
490:
486:
482:
478:
474:
471:
467:
463:
459:
453:
451:
449:
448:James Gosling
445:
441:
437:
433:
432:Object Pascal
429:
425:
421:
417:
413:
409:
405:
401:
396:
394:
390:
385:
383:
379:
375:
371:
367:
363:
359:
355:
351:
346:
344:
340:
336:
332:
331:Syntactically
328:
324:
320:
316:
312:
309:
305:
297:
293:
289:
285:
281:
277:
273:
269:
265:
260:
257:
253:
249:
246:Influenced by
244:
240:
232:
228:
225:
221:
217:
213:
209:
206:
204:
200:
196:
192:
189:
185:
182:
179:
177:
173:
170:
166:
163:
161:
157:
153:
147:
145:
141:
137:
123:
119:
116:
113:
111:
107:
104:
101:
99:
95:
92:
89:
85:
82:
78:
74:
70:
66:
63:
61:
57:
53:
48:
40:
33:
19:
3147:Generational
3137:Alphabetical
3133:
3113:
2938:Visual Basic
2915:
2827:
2817:
2808:
2749:Ron Morrison
2744:Tony Brooker
2721:Nobuo Yoneda
2655:Peter Landin
2637:Gerhard Goos
2629:Robert Dewar
2582:
2573:Mike Woodger
2550:David Turner
2545:Micha Sharir
2533:Rutishauser^
2486:Peter Landin
2459:Julien Green
2430:Richard Bird
2345:Charles Katz
2176:associations
2174:Professional
2107:
1825:the original
1809:
1770:. Retrieved
1760:
1748:. Retrieved
1744:the original
1734:
1722:. Retrieved
1718:
1709:
1695:
1660:
1653:
1641:. Retrieved
1637:the original
1626:
1614:. Retrieved
1597:(4): 25–37.
1594:
1590:
1577:
1565:. Retrieved
1561:
1551:
1539:
1531:
1515:
1489:. Retrieved
1428:
1421:
1410:
1399:
1392:
1387:
1383:
1380:
1376:
1373:
1369:
1366:
1362:
1358:
1354:
1350:
1346:
1341:
1338:
1335:
1332:
1329:
1325:
1321:
1317:
1313:
1309:
1305:
1301:
1297:
1293:
1289:
1285:
1281:
1277:
1273:
1269:
1265:
1261:
1258:
1254:
1251:
1247:
1243:
1239:
1236:
1232:
1229:
1223:
1208:
1197:
1121:
1118:
1111:
1107:call by name
1104:
1099:
1095:
1091:
1088:
1084:
1080:
1077:
1073:
1069:
1065:
1061:
1058:
1031:
1027:call by name
1023:call by name
1007:call by name
1004:
1001:Call by name
988:instantiated
953:
948:
944:
940:
936:
932:
928:
924:
920:
916:
912:
908:
904:
900:
896:
892:
888:
887:i;
884:
881:
877:
874:
870:
866:
862:
858:
854:
851:
847:
843:
839:
836:
832:
829:
825:
821:
817:
814:
810:
798:
793:
789:
785:
782:
774:
765:return value
762:
757:
754:
750:
731:
707:
695:Turing Award
684:
667:
660:
615:
592:
555:
531:
511:Robert Bemer
500:
495:
460:
457:
397:
386:
347:
303:
302:
3142:Categorical
2739:John Barnes
2734:Hal Abelson
2642:Michael Guy
2491:Tom Maibaum
2478:Jørn Jensen
2468:Eric Hehner
2463:David Gries
2383:Bruce Arden
2350:Alan Perlis
2330:John Backus
1893:programming
1501:cite report
1491:17 November
1406:Wait (door)
1288:;
1228:Simulation
1021:which used
956:super class
861:; Glyph
842:; Glyph
835:print;;
779:in Simula:
742:source code
723:Sample code
675:Lund Simula
611:concurrency
603:actor model
538:UNIVAC 1107
523:chairperson
507:UNIVAC 1107
416:typesetting
393:simulations
358:inheritance
3177:Categories
3007:JavaScript
2883:Comparison
2781:Comparison
2560:Eiiti Wada
2511:Peter Naur
2473:Tony Hoare
2289:Government
2131:Formalisms
1972:ALGOL 68RS
1967:ALGOL 68-R
1820:0632016116
1772:14 January
1750:14 January
1413:door.first
1395:Simulation
1211:simulation
1205:Simulation
1087:k <= n
960:subclasses
927:rgs (1):-
799:Simula is
732:The empty
635:System/370
631:System/360
607:coroutines
597:and later
494:were set.
489:simulation
412:algorithms
370:coroutines
362:subclasses
308:simulation
262:Influenced
169:nominative
77:structured
73:imperative
69:procedural
3104:Smalltalk
2696:Samelson^
2669:McCarthy^
2633:Dijkstra^
2564:Wegstein^
2536:Samelson^
2252:Education
2196:BSI Group
2158:Community
2069:Kidsgrove
1982:ALGOL 68S
1962:ALGOL 68C
1947:ABC ALGOL
1911:standards
1909:Technical
1701:"GNU Cim"
1312:message;
1306:Procedure
1300:Head;
1278:Procedure
1250:request;
1248:Procedure
1225:follows:
1221:concept.
1219:coroutine
1136:∑
1072:k, m, n;
1068:k, u;
1062:Procedure
1043:∑
974:with two
878:Procedure
855:Procedure
848:Character
833:Procedure
826:Procedure
746:statement
672:Simula AS
595:Smalltalk
466:operation
424:education
382:subtyping
343:Simscript
288:Smalltalk
256:Simscript
237:.simula67
208:Unix-like
195:Simscript
110:Developer
60:Paradigms
3162:Category
2928:Assembly
2888:Timeline
2712:Woodger^
2688:Randell^
2610:ALGOL 68
2407:ALGOL 60
2318:ALGOL 58
2226:Business
2103:Napier88
2099:PS-algol
1939:Dialects
1929:ALGOL 68
1924:ALGOL 60
1919:ALGOL 58
1643:19 April
1611:18148999
1523:(1978).
1480:(1970).
1411:Activate
1381:Activate
1374:Activate
1367:Activate
1290:Activate
1284:inUse:=
1276:;
1272:;
1114:for loop
992:run-time
919:(Glyph)
869:(Glyph)
790:Outimage
641:CDC 3000
623:1100 by
567:Subclass
556:In 1966
542:ALGOL 60
496:SIMULA I
492:language
485:ALGOL 60
339:ALGOL 60
335:superset
252:ALGOL 60
191:ALGOL 60
3115:more...
3094:Scratch
2997:Haskell
2987:Fortran
2943:classic
2893:History
2625:Bourne^
2525:Perlis^
2418:Backus^
2209:(IFIP)
2095:S-algol
1997:ALGOL X
1992:ALGOL W
1987:ALGOL N
1785:Sources
1724:17 June
1687:1000741
1424:Process
1355:Integer
1328:pname;
1280:leave;
1244:Boolean
1070:Integer
1009:so the
986:can be
885:Integer
822:Virtual
786:OutText
738:program
697:by the
689:by the
678:GNU Cim
663:TOPS-10
651:TOPS-10
551:Ural-16
454:History
354:classes
350:objects
280:Emerald
230:Website
220:TOPS-10
212:Windows
181:Lexical
129: (
39:Simulia
3134:Lists:
3069:Python
3064:Prolog
3042:Pascal
3032:MATLAB
3017:Kotlin
2977:Erlang
2916:Simula
2646:Hoare^
2617:Bauer^
2583:Simula
2426:Bauer^
2310:People
2218:(GAMM)
2203:(EASC)
2108:Simula
2085:NELIAC
2064:JOVIAL
1855:GitHub
1817:
1719:GitHub
1685:
1675:
1616:12 May
1609:
1567:22 May
1357:u;
1257:inUse
891:i:= 1
850:c;
828:print
703:OOPSLA
637:by NCC
621:UNIVAC
536:got a
515:Univac
470:formal
422:, and
372:, and
304:Simula
284:Pascal
276:Eiffel
165:Static
87:Family
45:Simula
3109:Swift
3099:Shell
3012:Julia
2982:Forth
2972:COBOL
2933:BASIC
2911:ALGOL
2680:Peck^
2677:Naur^
2482:Katz^
2298:(RRE)
2281:(MIT)
2192:(ACM)
2186:Group
2184:ALCOR
2122:ALGOL
2114:SMALL
2090:RTL/2
2071:Algol
2054:FLACC
2030:ALGOL
2017:CORAL
1952:ALCOR
1891:ALGOL
1683:S2CID
1607:S2CID
1587:(PDF)
1528:(PDF)
1485:(PDF)
1433:Notes
1353:;
1349:;
1342:Begin
1333:While
1330:Begin
1322:Class
1314:Begin
1304:;
1286:False
1282:Begin
1262:Begin
1252:Begin
1237:Begin
1233:Class
1230:Begin
1092:Begin
1085:While
1078:Begin
1019:ALGOL
995:error
921:Array
911:;
907:;
897:Until
882:Begin
875:Begin
871:Array
863:Class
852:Begin
844:Class
837:Begin
818:Class
815:Begin
783:Begin
755:Begin
711:is a
657:(FOA)
627:(NCC)
563:Class
519:ALGOL
321:, by
239:.info
176:Scope
91:ALGOL
3084:Rust
3079:Ruby
3054:Perl
3022:Lisp
3002:Java
2948:.NET
2120:SMIL
2080:Mary
2048:NEWP
2034:DG/L
2028:DASK
1976:ELLA
1957:ALGO
1815:ISBN
1774:2012
1752:2012
1726:2019
1673:ISBN
1645:2017
1618:2010
1569:2017
1507:link
1493:2020
1402:door
1336:True
1326:Text
1310:Text
1270:True
1259:Then
1081:Real
1074:Real
1066:Name
1059:Real
968:Line
966:and
964:Char
893:Step
633:and
579:type
575:Oslo
565:and
532:The
436:Java
360:and
325:and
319:Oslo
268:BETA
216:z/OS
131:1962
124:1962
3089:SQL
3059:PHP
3027:Lua
2962:C++
2923:APL
2906:Ada
2375:MAD
2075:MAD
2059:IMP
1853:on
1665:doi
1599:doi
1419:).
1388:End
1384:New
1377:New
1370:New
1363:New
1359:Ref
1351:End
1347:End
1318:End
1302:End
1298:New
1294:End
1274:End
1266:End
1240:Ref
1151:100
1100:End
1096:End
1076:u;
949:End
945:New
941:New
937:New
933:New
929:New
917:Ref
913:Ref
909:End
905:End
889:For
867:Ref
859:End
840:End
794:End
758:End
653:by
643:by
573:in
428:C++
337:of
317:in
292:C++
272:CLU
235:www
224:MVS
3179::
3037:ML
2992:Go
2967:C#
2101:,
2097:,
2019:66
1717:.
1681:.
1671:.
1605:.
1595:16
1593:.
1589:.
1560:.
1530:.
1503:}}
1499:{{
1441:^
1390:;
1339:Do
1255:If
1102:;
1089:Do
997:.
951:;
901:Do
895:1
830:Is
824::
803:.
796:;
792:;
760:;
748:.
613:.
553:.
440:C#
438:,
434:,
430:,
418:,
410:,
406:,
368:,
364:,
356:,
352:,
345:.
329:.
290:,
286:,
282:,
278:,
274:,
270:,
254:,
222:,
218:,
214:,
210:,
203:OS
167:,
79:,
75:,
71:,
67::
3074:R
2957:C
2864:e
2857:t
2850:v
2116:)
2050:)
2008:)
2004:(
1978:)
1974:(
1883:e
1876:t
1869:v
1776:.
1754:.
1728:.
1703:.
1689:.
1667::
1647:.
1620:.
1601::
1571:.
1509:)
1495:.
1179:2
1175:)
1171:a
1168:+
1165:i
1162:(
1158:1
1146:1
1143:=
1140:i
1132:=
1129:Z
962:(
197:)
133:)
41:.
34:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.