Knowledge (XXG)

Simula

Source 📝

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:)

Index

Simula (programming language)
Simula, Estonia
Simulia

Paradigms
Multi-paradigm
procedural
imperative
structured
object-oriented
ALGOL
Designed by
Ole-Johan Dahl
Developer
Kristen Nygaard
Stable release
Typing discipline
Static
nominative
Scope
Lexical
ALGOL 60
Simscript
OS
Unix-like
Windows
z/OS
TOPS-10
MVS
www.simula67.info

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.