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