Knowledge

Programming paradigm

Source đź“ť

407:, using a programming model instead of a language is common. The reason is that details of the parallel hardware leak into the abstractions used to program the hardware. This causes the programmer to have to map patterns in the algorithm onto patterns in the execution model (which have been inserted due to leakage of hardware into the abstraction). As a consequence, no one parallel programming language maps well to all computation problems. Thus, it is more convenient to use a base sequential language and insert API calls to parallel execution models via a programming model. Such parallel programming models can be classified according to abstractions that reflect the hardware, such as 241: 5678: 4501: 3118: 2118: 891: 5688: 3128: 4473: 5698: 3138: 2108: 760:
program describes what the problem is, not how to solve it. The program is structured as a set of properties to find in the expected result, not as a procedure to follow. Given a database or a set of rules, the computer tries to find a solution matching all the desired properties. An archetype of a
328:
do not state the order in which to execute operations. Instead, they supply a number of available operations in the system, along with the conditions under which each is allowed to execute. The implementation of the language's execution model tracks which operations are free to execute and chooses
431:
Some programming language researchers criticise the notion of paradigms as a classification of programming languages, e.g. Harper, and Krishnamurthi. They argue that many programming languages cannot be strictly classified into one paradigm, but rather include features from several paradigms. See
320:
have two main features: they state the order in which operations occur, with constructs that explicitly control that order, and they allow side effects, in which state can be modified at one point in time, within one unit of code, and then later read at a different point in time inside a different
308:
When using a language that supports multiple paradigms, the developer chooses which paradigm elements to use. But, this choice may not involve considering paradigms per se. The developer often uses the features of a language as the language provides them and to the extent that the developer knows
747:
of their advocates, rather than necessarily representing progress from one level to the next. Precise comparisons of competing paradigms' efficacy are frequently made more difficult because of new and differing terminology applied to similar entities and processes together with numerous
113:– code declares properties of the desired result, but not how to compute it, describes what computation should perform, without specifying detailed state changes c.f. imperative programming (functional and logic programming are major subgroups of declarative programming) 444:
Different approaches to programming have developed over time. Classification of each approach was either described at the time the approach was first developed, but often not until some time later, retrospectively. An early approach consciously identified as such is
533:, external variables and common sections (globals), enabling significant code re-use and isolation from hardware specifics via the use of logical operators such as READ/WRITE/GET/PUT. Assembly was, and still is, used for time-critical systems and often in 740:(HLA) is an example of this that fully supports advanced data types and object-oriented assembly language programming – despite its early origins. Thus, differing programming paradigms can be seen rather like 382:
construct. Partly for this reason, new paradigms are often regarded as doctrinaire or overly rigid by those accustomed to older ones. Yet, avoiding certain techniques can make it easier to understand program behavior, and to
479:
which is difficult to understand and maintain. This led to the development of structured programming paradigms that disallowed the use of goto statements; only allowing the use of more structured programming constructs.
1306: 820:
is a paradigm that describes programs able to manipulate formulas and program components as data. Programs can thus effectively modify themselves, and appear to "learn", making them suited for applications such as
49:, or whether the sequence of operations is defined by the execution model. Other paradigms are about the way code is organized, such as grouping into units that include both state and behavior. Yet others are about 879:, which allow the program to refer to itself, might also be considered as a programming paradigm. However, this is compatible with the major paradigms and thus is not a real paradigm in its own right. 725:
and other programmers, concerning the efficacy of the OOP paradigm versus the procedural paradigm. The need for every object to have associative methods leads some skeptics to associate OOP with
3287: 91:
that contain both data structure and associated behavior, uses data structures consisting of data fields and methods together with their interactions (objects) to design programs
475:(1962). Early programming languages did not have clearly defined programming paradigms and sometimes programs made extensive use of goto statements. Liberal use of which lead to 198:– metaprogramming methods in which a compiler uses templates to generate temporary source code, which is merged by the compiler with the rest of the source code and then compiled 139:– have language constructs for concurrency, these may involve multi-threading, support for distributed computing, message passing, shared resources (including shared memory), or 192:– writing programs that write or manipulate other programs (or themselves) as their data, or that do part of the work at compile time that would otherwise be done at runtime 1345: 4537: 4034: 529:
In the 1960s, assembly languages were developed to support library COPY and quite sophisticated conditional macro generation and preprocessing abilities, CALL to
1117: 3193: 3257: 119:– a desired result is declared as the value of a series of function evaluations, uses evaluation of mathematical functions and avoids state and mutable data 869:
essay: documentation is integral to the program, and the program is structured following the logic of prose exposition, rather than compiler convenience.
423:
visible in the code, and so forth. These can be considered flavors of programming paradigm that apply to only parallel languages and programming models.
259:. The findings allow for describing and comparing programming practices and the languages used to code programs. For perspective, other research studies 500:
that define behavior at the lowest level of abstract possible for a computer. As it is the most prescriptive way to code it is classified as imperative.
3206: 433: 344:
that contain state that is owned by and (usually) controlled by the code of the object. Most object-oriented languages are also imperative languages.
330: 1026: 160:– relations between variables are expressed as constraints (or constraint networks), directing allowable solutions (uses constraint satisfaction or 4205: 951: 1001: 186:– uses algorithms written in terms of to-be-specified-later types that are then instantiated as needed for specific types provided as parameters 3356: 1594: 125:– a desired result is declared as the answer to a question about a system of facts and rules, uses explicit mathematical logic for programming 3291: 5727: 4530: 4027: 634:
These languages are classified as procedural paradigm. They directly control the step by step process that a computer program follows. The
1344:
Wang, Fei; Decker, James; Wu, Xilun; Essertel, Gregory; Rompf, Tiark (2018), Bengio, S.; Wallach, H.; Larochelle, H.; Grauman, K. (eds.),
1456: 1139: 4714: 4489: 3186: 2154: 978: 351:, programs are treated as a sequence of stateless function evaluations. When programming computers or systems with many processors, in 218:– a network of rules of thumb that comprise a knowledge base and can be used for expert systems and problem deduction & resolution 1280: 710:
of the object that contains the data. Thus, an object's inner workings may be changed without affecting code that uses the object.
3420: 4523: 4494: 4020: 3770: 3632: 1556: 471: 41:
Paradigms are separated along and described by different dimensions of programming. Some paradigms are about implications of the
5431: 5403: 4630: 4620: 4127: 4117: 3776: 2871: 2843: 762: 523: 5456: 4678: 4635: 4625: 4615: 4484: 4175: 4132: 4122: 4112: 3179: 2896: 2111: 1977: 1906: 1561: 1093: 549: 504: 97:– object-oriented programming in which inheritance is achieved by defining classes of objects, versus the objects themselves 5732: 5307: 4592: 4089: 3961: 3709: 2747: 1800: 1703: 1551: 701: 5461: 4733: 4225: 4198: 2901: 2173: 400:
by using only an API. Programming models can also be classified into paradigms based on features of the execution model.
4966: 3429: 2406: 1587: 5613: 5441: 4971: 4230: 3053: 2881: 2411: 1780: 1647: 1632: 1495: 1480: 1290: 1109: 930: 876: 5701: 4795: 4607: 4235: 4104: 3801: 3481: 3425: 3141: 2235: 1188: 714: 19:
This article is about classification of programming languages. For definition of the term "programming model", see
736:
Although most OOP languages are third-generation, it is possible to create an object-oriented assembler language.
598:, while using mathematical language terminology, targeting scientific and engineering problems, just like FORTRAN. 5089: 4587: 4084: 3661: 3534: 3465: 3400: 3323: 2529: 1449: 730: 553: 136: 78: 5722: 5380: 5342: 4999: 4707: 4667: 4582: 4504: 4436: 4309: 4191: 4164: 4079: 3839: 3602: 3232: 2820: 2782: 2439: 2147: 1936: 1863: 1853: 1698: 1627: 689: 606: 371: 50: 46: 5522: 5499: 5229: 5219: 4597: 4479: 4457: 4411: 4384: 4359: 4319: 4094: 3617: 3607: 3385: 2962: 2939: 2669: 2659: 2121: 1987: 1916: 1858: 1580: 1490: 848: 802: 783: 706: 677: 673: 1373: 1320: 993: 5603: 5191: 5099: 5004: 4780: 4765: 4451: 4354: 4324: 4001: 3981: 3911: 3854: 3816: 3806: 3766: 3691: 3627: 3597: 3524: 3513: 3410: 3390: 3365: 3328: 3043: 2631: 2539: 2444: 2220: 2205: 1926: 1785: 1652: 1033: 787: 352: 94: 5691: 5426: 4924: 4426: 4421: 4364: 4344: 3956: 3719: 3686: 3581: 3557: 3519: 3499: 3395: 3304: 3282: 3267: 3131: 2866: 2364: 1848: 1843: 1657: 896: 834: 830: 685: 657: 651: 302: 221: 100: 84: 5663: 5312: 4656: 4369: 4265: 4248: 4153: 3903: 3889: 3796: 3756: 3681: 3587: 3567: 3434: 3313: 3247: 3103: 2752: 2043: 1891: 1886: 1838: 1815: 1795: 1442: 844: 212:– a simple syntax change to add syntax to nest function calls to language originally designed with none 963: 152:
that make local decisions in response to the environment (capable of selfish or competitive behaviour)
5681: 5608: 5583: 5446: 5094: 4700: 4379: 4334: 3996: 3761: 3671: 3651: 3637: 3121: 3048: 3023: 2886: 2534: 2140: 2048: 2038: 1485: 1346:"Backpropagation with Callbacks: Foundations for Efficient and Expressive Differentiable Programming" 852: 697: 384: 103:– object-oriented programming that avoids classes and implements inheritance via cloning of instances 88: 1416: 5532: 5365: 4951: 4820: 4416: 4299: 3976: 3936: 3879: 3811: 3549: 3380: 2972: 2805: 2391: 2260: 1951: 1750: 1733: 1642: 905: 619: 195: 809:
over them until an answer to the problem is found, or the set of formulas is proved inconsistent.
285:
supports functional. Most languages support multiple paradigms. For example, a program written in
5593: 5527: 5418: 5234: 4894: 3986: 3966: 3907: 3894: 3874: 3701: 3438: 3342: 3300: 3171: 3033: 2967: 2858: 2674: 2334: 1901: 1745: 1535: 822: 757: 110: 5658: 5489: 5370: 5137: 5127: 5122: 4285: 3946: 3921: 3915: 3859: 3821: 3509: 3504: 3456: 3351: 3252: 3224: 3215: 3098: 2929: 2810: 2577: 2567: 2562: 1956: 1713: 1708: 1525: 910: 862: 779: 771: 639: 446: 375: 348: 298: 277:
can be described in terms of paradigms. Some languages support only one paradigm. For example,
215: 201: 157: 116: 74: 64: 5628: 5598: 5588: 5484: 5398: 5274: 5214: 5181: 5171: 5054: 5019: 5009: 4946: 4815: 4790: 4785: 4750: 3848: 3844: 3786: 3738: 3308: 3068: 3038: 3028: 2924: 2838: 2714: 2654: 2621: 2611: 2494: 2459: 2449: 2386: 2255: 2230: 2225: 2190: 1775: 1728: 1170: 177: 5388: 5360: 5332: 5327: 5156: 5132: 5084: 5067: 5062: 5044: 5034: 5029: 4991: 4941: 4853: 4799: 4575: 4214: 4072: 3991: 3971: 3931: 3733: 3592: 3461: 3448: 2828: 2800: 2772: 2767: 2596: 2572: 2524: 2507: 2502: 2484: 2474: 2469: 2431: 2381: 2293: 2239: 2073: 1911: 1770: 1672: 1617: 1603: 1530: 1510: 872: 858: 817: 341: 274: 260: 256: 224:– manipulating program elements graphically rather than by specifying them textually (e.g. 209: 140: 128: 35: 8: 5653: 5578: 5494: 5479: 5244: 5024: 4981: 4976: 4873: 4863: 4835: 4290: 3926: 3864: 3676: 3656: 3642: 3374: 3242: 3237: 3093: 3018: 2934: 2919: 2684: 2464: 2421: 2416: 2313: 2303: 2275: 2093: 2078: 1946: 1810: 1718: 1662: 925: 798: 737: 545: 347:
In object-oriented programming, programs are treated as a set of interacting objects. In
183: 5618: 5517: 5393: 5350: 5259: 5201: 5186: 5176: 4961: 4760: 3743: 3696: 3666: 3612: 3471: 3370: 3262: 3058: 2957: 2833: 2790: 2699: 2641: 2626: 2616: 2401: 2200: 2083: 1723: 1227: 1162: 959: 920: 718: 605:) – a hybrid commercial-scientific general purpose language supporting 412: 404: 180:– have support for multiple autonomous computers that communicate via computer networks 587:
language terminology, it was developed mainly for scientific and engineering problems.
30:
is a relatively high-level way to conceptualize and structure the implementation of a
5638: 5568: 5547: 5509: 5317: 5284: 5264: 4956: 4868: 4742: 4570: 4565: 4270: 4067: 4062: 3899: 3791: 3646: 3622: 3562: 3529: 3491: 3476: 3415: 3078: 3008: 2987: 2949: 2757: 2724: 2704: 2396: 2308: 2182: 1997: 1755: 1505: 1466: 1286: 1089: 915: 794: 627: 515: 392: 161: 122: 20: 1231: 355:, programs are treated as sets of concurrent processes that act on a logical shared 5471: 5355: 5322: 5117: 5039: 4928: 4914: 4909: 4858: 4845: 4770: 4723: 3781: 3713: 3577: 3318: 2911: 2795: 2762: 2557: 2479: 2368: 2354: 2349: 2298: 2285: 2210: 2163: 2068: 2012: 1790: 1682: 1677: 1520: 1259: 1219: 1166: 1154: 1058: 722: 249: 31: 622: – a general-purpose programming language, initially developed by 5542: 5436: 5408: 5302: 5254: 5239: 5224: 5079: 5074: 5014: 4904: 4878: 4830: 4775: 4515: 4012: 3831: 3705: 3571: 3272: 2982: 2876: 2848: 2742: 2694: 2679: 2664: 2519: 2514: 2454: 2344: 2318: 2270: 2215: 2088: 1941: 1921: 1805: 1667: 1500: 1083: 774:
is a subset of declarative programming. Programs written using this paradigm use
534: 497: 458: 416: 397: 189: 42: 1411: 60:
Some common programming paradigms include (shown in hierarchical relationship):
5648: 5552: 5451: 5297: 5269: 3883: 3539: 3405: 3088: 2992: 2891: 2737: 2709: 1992: 1896: 1637: 1515: 806: 726: 623: 573: 569: 519: 476: 356: 54: 131:– a desired result is declared with data streams and the propagation of change 5716: 5537: 4825: 4389: 3869: 2977: 2265: 1972: 1740: 1434: 826: 616:) – it was developed to enable more people to write programs. 565: 408: 290: 1223: 1207: 782:. Functional languages discourage changes in the value of variables through 556:. They support vocabulary related to the problem being solved. For example, 321:
unit of code. The communication between the units of code is not explicit.
5633: 5292: 4560: 4441: 4280: 4057: 3073: 2732: 2007: 2002: 1931: 642:
of such a program is therefore highly dependent on the programmer's skill.
584: 493: 454: 68: 1264: 1247: 1158: 5623: 5249: 5161: 3751: 3063: 2689: 2601: 466: 310: 267: 171: 145: 4183: 244:
Overview of the various programming paradigms according to Peter Van Roy
240: 5643: 5573: 5166: 4899: 4755: 4349: 3083: 3013: 2606: 2339: 2195: 2017: 1982: 1572: 1421: 1307:"Mode inheritance, cloning, hooks & OOP (Google Groups Discussion)" 805:
are expressed as logic formulas, and programs are executed by applying
775: 696:
and methods to manipulate the data are in the same code unit called an
594:) – focused on being an appropriate language to define 530: 204:– metaprogramming methods in which a program modifies or extends itself 5148: 5109: 4446: 2588: 2549: 1027:"CSCI/ARTI 4540/6540: First Lecture on Symbolic Programming and LISP" 866: 665: 595: 362:
Many programming paradigms are as well known for the techniques they
278: 890: 5209: 4692: 2649: 2132: 1765: 635: 522:. Assembly is classified as imperative and is sometimes called the 252: 225: 167: 3201: 833:
and computer games. Languages that support this paradigm include
71:
and state change, explicit statements that change a program state
4339: 4329: 1384: 580: 282: 263: 170:– forced recalculation of formulas when data values change (e.g. 1110:"Programming paradigms: What are the principles of programming?" 768:, and the family of functional languages and logic programming. 704:
ensures that the only way that an object can access data is via
4406: 4374: 4258: 1622: 838: 661: 3158: 982:. Aalborg University, 9 May 2011. Retrieved 22 September 2012. 313:
by paradigm is often an academic activity done in retrospect.
4314: 4304: 4275: 4253: 1822: 669: 613: 591: 561: 286: 4396: 2033: 1020: 1018: 743: 693: 602: 379: 1059:"Programming Paradigms: What Every Programmer Should Know" 4431: 4401: 765: 681: 294: 1085:
Concepts, Techniques, and Models of Computer Programming
1081: 1015: 305:, or can contain aspects of both paradigms, or others. 1208:"Teaching programming languages in a post-linnaean age" 865:, structures programs as a human-centered web, as in a 537:
as it gives the most control of what the machine does.
38:
can be classified as supporting one or more paradigms.
994:"Characteristics of declarative programming languages" 370:. For instance, pure functional programming disallows 1412:
Classification of the principal programming paradigms
496:
is the lowest-level of computer programming as it is
1353:
Advances in Neural Information Processing Systems 31
1343: 1321:"Business glossary: Symbolic programming definition" 1024: 886: 4545: 4042: 729:; an attempt to resolve this dilemma came through 518:introduced mnemonics for machine instructions and 449:, advocated since the mid 1960s. The concept of a 434:Comparison of multi-paradigm programming languages 331:Comparison of multi-paradigm programming languages 1417:How programming paradigms evolve and get adopted? 612:Beginners All purpose Symbolic Instruction Code ( 16:High-level computer programming conceptualization 5714: 1075: 465:, which cites the notion of paradigm as used by 390:Programming paradigms can also be compared with 1374:"On Machine Learning and Programming Languages" 1355:, Curran Associates, Inc., pp. 10201–10212 1189:"What, if anything, is a programming-paradigm?" 979:Overview of the four main programming paradigms 656:In attempt to improve on procedural languages, 1464: 1140:"'GOTO Considered Harmful' Considered Harmful" 748:implementation distinctions across languages. 645: 4732:Note: This template roughly follows the 2012 4708: 4531: 4199: 4028: 3187: 2172:Note: This template roughly follows the 2012 2148: 1588: 1450: 1205: 1056: 991: 1137: 4715: 4701: 4538: 4524: 4472: 4206: 4192: 4035: 4021: 3194: 3180: 2155: 2141: 1595: 1581: 1457: 1443: 1131: 801:over a body of knowledge. Facts about the 483: 4213: 3258:Programming in the large and in the small 1263: 778:, blocks of code intended to behave like 1786:Software development process/methodology 1602: 1426: 1206:Krishnamurthi, Shriram (November 2008). 847:structures programs so that they can be 751: 239: 1557:Category:Lists of programming languages 1032:. University of Georgia. Archived from 540: 472:The Structure of Scientific Revolutions 453:as such dates at least to 1978, in the 5715: 5432:Knowledge representation and reasoning 2872:Knowledge representation and reasoning 1278: 1186: 660:(OOP) languages were created, such as 550:third-generation programming languages 524:second-generation programming language 5457:Philosophy of artificial intelligence 4696: 4519: 4187: 4016: 3175: 3162: 2897:Philosophy of artificial intelligence 2136: 1576: 1562:List of programming languages by type 1438: 1425: 1371: 1365: 1245: 952:"Multi-Paradigm Programming Language" 505:first-generation programming language 4776:Energy consumption (Green computing) 4722: 2216:Energy consumption (Green computing) 2162: 2107: 1801:Software verification and validation 1704:Component-based software engineering 1552:Category:Lists of computer languages 564:) – uses terms like 340:programming, code is organized into 5728:Programming language classification 5462:Distributed artificial intelligence 4734:ACM Computing Classification System 2902:Distributed artificial intelligence 2174:ACM Computing Classification System 1082:Peter Van-Roy; Seif Haridi (2004). 1025:Michael A. Covington (2010-08-23). 560:COmmon Business Oriented Language ( 13: 4967:Integrated development environment 2407:Integrated development environment 812: 329:the order independently. More at 14: 5744: 5442:Automated planning and scheduling 4972:Software configuration management 2882:Automated planning and scheduling 2412:Software configuration management 1781:Software configuration management 1648:Search-based software engineering 1633:Experimental software engineering 1405: 1285:. Jones & Bartlett Learning. 1120:from the original on Jun 29, 2022 931:Von Neumann programming languages 309:them. Categorizing the resulting 5696: 5686: 5677: 5676: 4500: 4499: 4471: 3802:Partitioned global address space 3136: 3126: 3117: 3116: 2117: 2116: 2106: 889: 786:, making a great deal of use of 248:Programming paradigms come from 5687: 5090:Computational complexity theory 3163: 3127: 2530:Computational complexity theory 1337: 1313: 1299: 1272: 1239: 1199: 1004:from the original on 2014-02-27 488: 4874:Network performance evaluation 4547:Types of programming languages 4044:Types of programming languages 2314:Network performance evaluation 1628:Empirical software engineering 1248:"The paradigms of programming" 1180: 1102: 1050: 985: 970: 962:. Jun 21, 2013. Archived from 944: 797:paradigm views computation as 324:In contrast, languages in the 270:to describe and compare them. 148:– concurrent computation with 1: 5245:Multimedia information system 5230:Geographic information system 5220:Enterprise information system 4809:Computer systems organization 4647: 4144: 2685:Multimedia information system 2670:Geographic information system 2660:Enterprise information system 2249:Computer systems organization 1195:. Cambridge University Press. 1187:Harper, Robert (1 May 2017). 937: 281:supports object-oriented and 5604:Computational social science 5192:Theoretical computer science 5005:Software development process 4781:Electronic design automation 4766:Very Large Scale Integration 4679:Programming paradigms navbox 4176:Programming paradigms navbox 3329:Uniform Function Call Syntax 3044:Computational social science 2632:Theoretical computer science 2445:Software development process 2221:Electronic design automation 2206:Very Large Scale Integration 1653:Site reliability engineering 1057:Peter Van Roy (2009-05-12). 761:declarative language is the 463:The Paradigms of Programming 426: 353:process-oriented programming 7: 5733:Programming language topics 5427:Natural language processing 5215:Information storage systems 3797:Parallel programming models 3771:Concurrent constraint logic 2867:Natural language processing 2655:Information storage systems 1658:Social software engineering 992:Frans Coenen (1999-10-11). 897:Computer programming portal 882: 831:natural-language processing 658:object-oriented programming 652:Object-oriented programming 646:Object-oriented programming 552:are the first described as 510: 503:It is sometimes called the 396:, which allows invoking an 387:about program correctness. 255:into existing practices of 235: 10: 5749: 5343:Human–computer interaction 5313:Intrusion detection system 5225:Social information systems 5210:Database management system 3890:Metalinguistic abstraction 3757:Automatic mutual exclusion 2783:Human–computer interaction 2753:Intrusion detection system 2665:Social information systems 2650:Database management system 1796:Software quality assurance 1138:Frank Rubin (March 1987). 845:Differentiable programming 763:fourth generation language 649: 601:Programming Language One ( 583:) – using 439: 18: 5672: 5609:Computational engineering 5584:Computational mathematics 5561: 5508: 5470: 5417: 5379: 5341: 5283: 5200: 5146: 5108: 5053: 4990: 4923: 4887: 4844: 4808: 4741: 4730: 4606: 4553: 4467: 4244: 4221: 4103: 4050: 3945: 3830: 3762:Choreographic programming 3732: 3548: 3490: 3447: 3350: 3341: 3281: 3223: 3214: 3169: 3112: 3049:Computational engineering 3024:Computational mathematics 3001: 2948: 2910: 2857: 2819: 2781: 2723: 2640: 2586: 2548: 2493: 2430: 2363: 2327: 2284: 2248: 2181: 2170: 2102: 2061: 2026: 1965: 1879: 1872: 1831: 1691: 1610: 1544: 1473: 1432: 1279:Soroka, Barry I. (2006). 1252:Communications of the ACM 1147:Communications of the ACM 956:Mozilla Developer Network 853:automatic differentiation 626:between 1969 and 1973 at 316:Languages categorized as 67:– code directly controls 5619:Computational healthcare 5614:Differentiable computing 5533:Graphics processing unit 4952:Domain-specific language 4821:Computational complexity 3812:Relativistic programming 3059:Computational healthcare 3054:Differentiable computing 2973:Graphics processing unit 2392:Domain-specific language 2261:Computational complexity 1952:Model-driven engineering 1751:Functional specification 1734:Software incompatibility 1643:Requirements engineering 1496:Knowledge representation 1481:Architecture description 906:Domain-specific language 851:throughout, usually via 230:diagrammatic programming 196:Template metaprogramming 5594:Computational chemistry 5528:Photograph manipulation 5419:Artificial intelligence 5235:Decision support system 3034:Computational chemistry 2968:Photograph manipulation 2859:Artificial intelligence 2675:Decision support system 1746:Enterprise architecture 1224:10.1145/1480828.1480846 823:artificial intelligence 758:declarative programming 484:Languages and paradigms 178:Distributed programming 5659:Educational technology 5490:Reinforcement learning 5240:Process control system 5138:Computational geometry 5128:Algorithmic efficiency 5123:Analysis of algorithms 4771:Systems on Chip (SoCs) 3822:Structured concurrency 3207:Comparison by language 3099:Educational technology 2930:Reinforcement learning 2680:Process control system 2578:Computational geometry 2568:Algorithmic efficiency 2563:Analysis of algorithms 2211:Systems on Chip (SoCs) 1957:Round-trip engineering 1714:Backward compatibility 1709:Software compatibility 911:Flow-based programming 863:imperative programming 780:mathematical functions 772:Functional programming 692:. In these languages, 590:ALGOrithmic Language ( 447:structured programming 376:structured programming 349:functional programming 266:and describes various 245: 216:Rule-based programming 202:Reflective programming 158:Constraint programming 137:Concurrent programming 5723:Programming paradigms 5629:Electronic publishing 5599:Computational biology 5589:Computational physics 5485:Unsupervised learning 5399:Distributed computing 5275:Information retrieval 5182:Mathematical analysis 5172:Mathematical software 5055:Theory of computation 5020:Software construction 5010:Requirements analysis 4888:Software organization 4816:Computer architecture 4786:Hardware acceleration 4751:Printed circuit board 4668:Programming languages 4215:Programming languages 4165:Programming languages 3787:Multitier programming 3603:Interface description 3203:Programming paradigms 3069:Electronic publishing 3039:Computational biology 3029:Computational physics 2925:Unsupervised learning 2839:Distributed computing 2715:Information retrieval 2622:Mathematical analysis 2612:Mathematical software 2495:Theory of computation 2460:Software construction 2450:Requirements analysis 2328:Software organization 2256:Computer architecture 2226:Hardware acceleration 2191:Printed circuit board 1776:Software architecture 1729:Forward compatibility 1381:SysML Conference 2018 1282:Java 5: Objects First 1265:10.1145/359138.359140 1246:Floyd, R. W. (1979). 1159:10.1145/214748.315722 752:Declarative languages 579:FORmula TRANslation ( 243: 5389:Concurrent computing 5361:Ubiquitous computing 5333:Application security 5328:Information security 5157:Discrete mathematics 5133:Randomized algorithm 5085:Computability theory 5063:Model of computation 5035:Software maintenance 5030:Software engineering 4992:Software development 4942:Programming language 4937:Programming paradigm 4854:Network architecture 2829:Concurrent computing 2801:Ubiquitous computing 2773:Application security 2768:Information security 2597:Discrete mathematics 2573:Randomized algorithm 2525:Computability theory 2503:Model of computation 2475:Software maintenance 2470:Software engineering 2432:Software development 2382:Programming language 2377:Programming paradigm 2294:Network architecture 2074:Computer engineering 1771:Software archaeology 1761:Programming paradigm 1673:Software maintenance 1618:Computer programming 1604:Software engineering 1511:Programming language 1491:Hardware description 1427:Software engineering 1372:Innes, Mike (2018). 859:Literate programming 818:Symbolic programming 554:high-level languages 546:Procedural languages 541:Procedural languages 498:machine instructions 451:programming paradigm 326:declarative paradigm 275:programming language 261:software engineering 257:software development 210:Pipeline programming 168:Dataflow programming 81:that call each other 36:programming language 28:programming paradigm 5664:Document management 5654:Operations research 5579:Enterprise software 5495:Multi-task learning 5480:Supervised learning 5202:Information systems 5025:Software deployment 4982:Software repository 4836:Real-time computing 3927:Self-modifying code 3535:Probabilistic logic 3466:Functional reactive 3421:Expression-oriented 3375:Partial application 3104:Document management 3094:Operations research 3019:Enterprise software 2935:Multi-task learning 2920:Supervised learning 2642:Information systems 2465:Software deployment 2422:Software repository 2276:Real-time computing 2094:Systems engineering 2079:Information science 1859:Service orientation 1811:Structured analysis 1719:Compatibility layer 1663:Software deployment 1212:ACM SIGPLAN Notices 926:Turing completeness 875:techniques such as 799:automated reasoning 738:High Level Assembly 318:imperative paradigm 184:Generic programming 45:, such as allowing 5447:Search methodology 5394:Parallel computing 5351:Interaction design 5260:Computing platform 5187:Numerical analysis 5177:Information theory 4962:Software framework 4925:Software notations 4864:Network components 4761:Integrated circuit 3840:Attribute-oriented 3613:List comprehension 3558:Algebraic modeling 3371:Anonymous function 3263:Design by contract 3233:Jackson structures 2887:Search methodology 2834:Parallel computing 2791:Interaction design 2700:Computing platform 2627:Numerical analysis 2617:Information theory 2402:Software framework 2365:Software notations 2304:Network components 2201:Integrated circuit 2084:Project management 1849:Object orientation 1816:Essential analysis 1724:Compatibility mode 1218:(11). ACM: 81–83. 1176:on March 20, 2009. 1114:IONOS Digitalguide 966:on 21 August 2013. 960:Mozilla Foundation 921:Programming domain 719:Alexander Stepanov 628:AT&T Bell Labs 548:, also called the 413:distributed memory 405:parallel computing 393:programming models 366:as for those they 246: 222:Visual programming 5710: 5709: 5639:Electronic voting 5569:Quantum Computing 5562:Applied computing 5548:Image compression 5318:Hardware security 5308:Security services 5265:Digital marketing 5045:Open-source model 4957:Modeling language 4869:Network scheduler 4690: 4689: 4657:Computer language 4644: 4643: 4513: 4512: 4495:Non-English-based 4154:Computer language 4141: 4140: 4010: 4009: 3900:Program synthesis 3792:Organic computing 3728: 3727: 3633:Non-English-based 3608:Language-oriented 3386:Purely functional 3337: 3336: 3156: 3155: 3150: 3149: 3079:Electronic voting 3009:Quantum Computing 3002:Applied computing 2988:Image compression 2758:Hardware security 2748:Security services 2705:Digital marketing 2485:Open-source model 2397:Modeling language 2309:Network scheduler 2130: 2129: 2057: 2056: 1998:Information model 1902:Incremental model 1756:Modeling language 1570: 1569: 1467:computer language 1193:FifteenEightyFour 1116:. 20 April 2020. 1095:978-0-262-22069-9 998:cgi.csc.liv.ac.uk 916:Modeling language 795:logic programming 516:Assembly language 162:simplex algorithm 146:Actor programming 21:Programming model 5740: 5700: 5699: 5690: 5689: 5680: 5679: 5500:Cross-validation 5472:Machine learning 5356:Social computing 5323:Network security 5118:Algorithm design 5040:Programming team 5000:Control variable 4977:Software library 4915:Software quality 4910:Operating system 4859:Network protocol 4724:Computer science 4717: 4710: 4703: 4694: 4693: 4683: 4677: 4672: 4666: 4661: 4655: 4540: 4533: 4526: 4517: 4516: 4503: 4502: 4475: 4474: 4208: 4201: 4194: 4185: 4184: 4180: 4174: 4169: 4163: 4158: 4152: 4037: 4030: 4023: 4014: 4013: 3912:by demonstration 3817:Service-oriented 3807:Process-oriented 3782:Macroprogramming 3767:Concurrent logic 3638:Page description 3628:Natural language 3598:Grammar-oriented 3525:Nondeterministic 3514:Constraint logic 3416:Point-free style 3411:Functional logic 3348: 3347: 3319:Immutable object 3238:Block-structured 3221: 3220: 3196: 3189: 3182: 3173: 3172: 3160: 3159: 3140: 3139: 3130: 3129: 3120: 3119: 2940:Cross-validation 2912:Machine learning 2796:Social computing 2763:Network security 2558:Algorithm design 2480:Programming team 2440:Control variable 2417:Software library 2355:Software quality 2350:Operating system 2299:Network protocol 2164:Computer science 2157: 2150: 2143: 2134: 2133: 2120: 2119: 2110: 2109: 2069:Computer science 1877: 1876: 1791:Software quality 1683:Systems analysis 1678:Software testing 1597: 1590: 1583: 1574: 1573: 1459: 1452: 1445: 1436: 1435: 1423: 1422: 1399: 1398: 1396: 1395: 1389: 1383:. Archived from 1378: 1369: 1363: 1362: 1361: 1360: 1350: 1341: 1335: 1334: 1332: 1331: 1317: 1311: 1310: 1303: 1297: 1296: 1276: 1270: 1269: 1267: 1243: 1237: 1235: 1203: 1197: 1196: 1184: 1178: 1177: 1175: 1169:. Archived from 1144: 1135: 1129: 1128: 1126: 1125: 1106: 1100: 1099: 1079: 1073: 1072: 1070: 1069: 1064:. info.ucl.ac.be 1063: 1054: 1048: 1047: 1045: 1044: 1038: 1031: 1022: 1013: 1012: 1010: 1009: 989: 983: 974: 968: 967: 948: 899: 894: 893: 723:Richard Stallman 535:embedded systems 520:memory addresses 250:computer science 32:computer program 5748: 5747: 5743: 5742: 5741: 5739: 5738: 5737: 5713: 5712: 5711: 5706: 5697: 5668: 5649:Word processing 5557: 5543:Virtual reality 5504: 5466: 5437:Computer vision 5413: 5409:Multiprocessing 5375: 5337: 5303:Security hacker 5279: 5255:Digital library 5196: 5147:Mathematics of 5142: 5104: 5080:Automata theory 5075:Formal language 5049: 5015:Software design 4986: 4919: 4905:Virtual machine 4883: 4879:Network service 4840: 4831:Embedded system 4804: 4737: 4726: 4721: 4691: 4686: 4681: 4675: 4670: 4664: 4659: 4653: 4650: 4645: 4640: 4602: 4593:Very high-level 4549: 4544: 4514: 4509: 4463: 4240: 4217: 4212: 4178: 4172: 4167: 4161: 4156: 4150: 4147: 4142: 4137: 4099: 4090:Very high-level 4046: 4041: 4011: 4006: 3948: 3941: 3832:Metaprogramming 3826: 3742: 3737: 3724: 3706:Graph rewriting 3544: 3520:Inductive logic 3500:Abductive logic 3486: 3443: 3406:Dependent types 3354: 3333: 3305:Prototype-based 3285: 3283:Object-oriented 3277: 3273:Nested function 3268:Invariant-based 3210: 3200: 3165: 3157: 3152: 3151: 3146: 3137: 3108: 3089:Word processing 2997: 2983:Virtual reality 2944: 2906: 2877:Computer vision 2853: 2849:Multiprocessing 2815: 2777: 2743:Security hacker 2719: 2695:Digital library 2636: 2587:Mathematics of 2582: 2544: 2520:Automata theory 2515:Formal language 2489: 2455:Software design 2426: 2359: 2345:Virtual machine 2323: 2319:Network service 2280: 2271:Embedded system 2244: 2177: 2166: 2161: 2131: 2126: 2098: 2089:Risk management 2053: 2022: 1961: 1942:Waterfall model 1912:Prototype model 1907:Iterative model 1868: 1844:Aspect-oriented 1827: 1806:Software system 1687: 1668:Software design 1606: 1601: 1571: 1566: 1540: 1469: 1463: 1428: 1408: 1403: 1402: 1393: 1391: 1387: 1376: 1370: 1366: 1358: 1356: 1348: 1342: 1338: 1329: 1327: 1325:allbusiness.com 1319: 1318: 1314: 1305: 1304: 1300: 1293: 1277: 1273: 1244: 1240: 1204: 1200: 1185: 1181: 1173: 1142: 1136: 1132: 1123: 1121: 1108: 1107: 1103: 1096: 1080: 1076: 1067: 1065: 1061: 1055: 1051: 1042: 1040: 1036: 1029: 1023: 1016: 1007: 1005: 990: 986: 976:Nørmark, Kurt. 975: 971: 950: 949: 945: 940: 935: 895: 888: 885: 861:, as a form of 815: 813:Other paradigms 807:inference rules 754: 654: 648: 543: 513: 491: 486: 459:Robert W. Floyd 442: 429: 417:message passing 398:execution model 357:data structures 338:object-oriented 303:object-oriented 238: 228:); also termed 190:Metaprogramming 101:Prototype-based 87:– organized as 85:object-oriented 77:– organized as 43:execution model 24: 17: 12: 11: 5: 5746: 5736: 5735: 5730: 5725: 5708: 5707: 5705: 5704: 5694: 5684: 5673: 5670: 5669: 5667: 5666: 5661: 5656: 5651: 5646: 5641: 5636: 5631: 5626: 5621: 5616: 5611: 5606: 5601: 5596: 5591: 5586: 5581: 5576: 5571: 5565: 5563: 5559: 5558: 5556: 5555: 5553:Solid modeling 5550: 5545: 5540: 5535: 5530: 5525: 5520: 5514: 5512: 5506: 5505: 5503: 5502: 5497: 5492: 5487: 5482: 5476: 5474: 5468: 5467: 5465: 5464: 5459: 5454: 5452:Control method 5449: 5444: 5439: 5434: 5429: 5423: 5421: 5415: 5414: 5412: 5411: 5406: 5404:Multithreading 5401: 5396: 5391: 5385: 5383: 5377: 5376: 5374: 5373: 5368: 5363: 5358: 5353: 5347: 5345: 5339: 5338: 5336: 5335: 5330: 5325: 5320: 5315: 5310: 5305: 5300: 5298:Formal methods 5295: 5289: 5287: 5281: 5280: 5278: 5277: 5272: 5270:World Wide Web 5267: 5262: 5257: 5252: 5247: 5242: 5237: 5232: 5227: 5222: 5217: 5212: 5206: 5204: 5198: 5197: 5195: 5194: 5189: 5184: 5179: 5174: 5169: 5164: 5159: 5153: 5151: 5144: 5143: 5141: 5140: 5135: 5130: 5125: 5120: 5114: 5112: 5106: 5105: 5103: 5102: 5097: 5092: 5087: 5082: 5077: 5072: 5071: 5070: 5059: 5057: 5051: 5050: 5048: 5047: 5042: 5037: 5032: 5027: 5022: 5017: 5012: 5007: 5002: 4996: 4994: 4988: 4987: 4985: 4984: 4979: 4974: 4969: 4964: 4959: 4954: 4949: 4944: 4939: 4933: 4931: 4921: 4920: 4918: 4917: 4912: 4907: 4902: 4897: 4891: 4889: 4885: 4884: 4882: 4881: 4876: 4871: 4866: 4861: 4856: 4850: 4848: 4842: 4841: 4839: 4838: 4833: 4828: 4823: 4818: 4812: 4810: 4806: 4805: 4803: 4802: 4793: 4788: 4783: 4778: 4773: 4768: 4763: 4758: 4753: 4747: 4745: 4739: 4738: 4731: 4728: 4727: 4720: 4719: 4712: 4705: 4697: 4688: 4687: 4685: 4684: 4673: 4662: 4649: 4646: 4642: 4641: 4639: 4638: 4633: 4628: 4623: 4618: 4612: 4610: 4604: 4603: 4601: 4600: 4595: 4590: 4585: 4579: 4578: 4573: 4568: 4563: 4557: 4555: 4551: 4550: 4543: 4542: 4535: 4528: 4520: 4511: 4510: 4508: 4507: 4497: 4492: 4487: 4482: 4468: 4465: 4464: 4462: 4461: 4454: 4449: 4444: 4439: 4434: 4429: 4424: 4419: 4414: 4409: 4404: 4399: 4394: 4393: 4392: 4382: 4377: 4372: 4367: 4362: 4357: 4352: 4347: 4342: 4337: 4332: 4327: 4322: 4317: 4312: 4307: 4302: 4297: 4296: 4295: 4294: 4293: 4288: 4273: 4268: 4263: 4262: 4261: 4251: 4245: 4242: 4241: 4239: 4238: 4233: 4228: 4222: 4219: 4218: 4211: 4210: 4203: 4196: 4188: 4182: 4181: 4170: 4159: 4146: 4143: 4139: 4138: 4136: 4135: 4130: 4125: 4120: 4115: 4109: 4107: 4101: 4100: 4098: 4097: 4092: 4087: 4082: 4076: 4075: 4070: 4065: 4060: 4054: 4052: 4048: 4047: 4040: 4039: 4032: 4025: 4017: 4008: 4007: 4005: 4004: 3999: 3994: 3989: 3984: 3979: 3974: 3969: 3964: 3959: 3953: 3951: 3943: 3942: 3940: 3939: 3934: 3929: 3924: 3919: 3897: 3892: 3887: 3877: 3872: 3867: 3862: 3857: 3852: 3842: 3836: 3834: 3828: 3827: 3825: 3824: 3819: 3814: 3809: 3804: 3799: 3794: 3789: 3784: 3779: 3774: 3764: 3759: 3754: 3748: 3746: 3730: 3729: 3726: 3725: 3723: 3722: 3717: 3702:Transformation 3699: 3694: 3689: 3684: 3679: 3674: 3669: 3664: 3659: 3654: 3649: 3640: 3635: 3630: 3625: 3620: 3615: 3610: 3605: 3600: 3595: 3590: 3588:Differentiable 3585: 3575: 3568:Automata-based 3565: 3560: 3554: 3552: 3546: 3545: 3543: 3542: 3537: 3532: 3527: 3522: 3517: 3507: 3502: 3496: 3494: 3488: 3487: 3485: 3484: 3479: 3474: 3469: 3459: 3453: 3451: 3445: 3444: 3442: 3441: 3435:Function-level 3432: 3423: 3418: 3413: 3408: 3403: 3398: 3393: 3388: 3383: 3378: 3368: 3362: 3360: 3345: 3339: 3338: 3335: 3334: 3332: 3331: 3326: 3321: 3316: 3311: 3297: 3295: 3279: 3278: 3276: 3275: 3270: 3265: 3260: 3255: 3250: 3248:Non-structured 3245: 3240: 3235: 3229: 3227: 3218: 3212: 3211: 3199: 3198: 3191: 3184: 3176: 3170: 3167: 3166: 3154: 3153: 3148: 3147: 3145: 3144: 3134: 3124: 3113: 3110: 3109: 3107: 3106: 3101: 3096: 3091: 3086: 3081: 3076: 3071: 3066: 3061: 3056: 3051: 3046: 3041: 3036: 3031: 3026: 3021: 3016: 3011: 3005: 3003: 2999: 2998: 2996: 2995: 2993:Solid modeling 2990: 2985: 2980: 2975: 2970: 2965: 2960: 2954: 2952: 2946: 2945: 2943: 2942: 2937: 2932: 2927: 2922: 2916: 2914: 2908: 2907: 2905: 2904: 2899: 2894: 2892:Control method 2889: 2884: 2879: 2874: 2869: 2863: 2861: 2855: 2854: 2852: 2851: 2846: 2844:Multithreading 2841: 2836: 2831: 2825: 2823: 2817: 2816: 2814: 2813: 2808: 2803: 2798: 2793: 2787: 2785: 2779: 2778: 2776: 2775: 2770: 2765: 2760: 2755: 2750: 2745: 2740: 2738:Formal methods 2735: 2729: 2727: 2721: 2720: 2718: 2717: 2712: 2710:World Wide Web 2707: 2702: 2697: 2692: 2687: 2682: 2677: 2672: 2667: 2662: 2657: 2652: 2646: 2644: 2638: 2637: 2635: 2634: 2629: 2624: 2619: 2614: 2609: 2604: 2599: 2593: 2591: 2584: 2583: 2581: 2580: 2575: 2570: 2565: 2560: 2554: 2552: 2546: 2545: 2543: 2542: 2537: 2532: 2527: 2522: 2517: 2512: 2511: 2510: 2499: 2497: 2491: 2490: 2488: 2487: 2482: 2477: 2472: 2467: 2462: 2457: 2452: 2447: 2442: 2436: 2434: 2428: 2427: 2425: 2424: 2419: 2414: 2409: 2404: 2399: 2394: 2389: 2384: 2379: 2373: 2371: 2361: 2360: 2358: 2357: 2352: 2347: 2342: 2337: 2331: 2329: 2325: 2324: 2322: 2321: 2316: 2311: 2306: 2301: 2296: 2290: 2288: 2282: 2281: 2279: 2278: 2273: 2268: 2263: 2258: 2252: 2250: 2246: 2245: 2243: 2242: 2233: 2228: 2223: 2218: 2213: 2208: 2203: 2198: 2193: 2187: 2185: 2179: 2178: 2171: 2168: 2167: 2160: 2159: 2152: 2145: 2137: 2128: 2127: 2125: 2124: 2114: 2103: 2100: 2099: 2097: 2096: 2091: 2086: 2081: 2076: 2071: 2065: 2063: 2062:Related fields 2059: 2058: 2055: 2054: 2052: 2051: 2046: 2041: 2036: 2030: 2028: 2024: 2023: 2021: 2020: 2015: 2010: 2005: 2000: 1995: 1993:Function model 1990: 1985: 1980: 1975: 1969: 1967: 1963: 1962: 1960: 1959: 1954: 1949: 1944: 1939: 1934: 1929: 1924: 1919: 1914: 1909: 1904: 1899: 1897:Executable UML 1894: 1889: 1883: 1881: 1874: 1870: 1869: 1867: 1866: 1861: 1856: 1851: 1846: 1841: 1835: 1833: 1829: 1828: 1826: 1825: 1820: 1819: 1818: 1808: 1803: 1798: 1793: 1788: 1783: 1778: 1773: 1768: 1763: 1758: 1753: 1748: 1743: 1738: 1737: 1736: 1731: 1726: 1721: 1716: 1706: 1701: 1695: 1693: 1689: 1688: 1686: 1685: 1680: 1675: 1670: 1665: 1660: 1655: 1650: 1645: 1640: 1638:Formal methods 1635: 1630: 1625: 1620: 1614: 1612: 1608: 1607: 1600: 1599: 1592: 1585: 1577: 1568: 1567: 1565: 1564: 1559: 1554: 1548: 1546: 1542: 1541: 1539: 1538: 1536:Transformation 1533: 1528: 1523: 1518: 1513: 1508: 1503: 1498: 1493: 1488: 1483: 1477: 1475: 1471: 1470: 1462: 1461: 1454: 1447: 1439: 1433: 1430: 1429: 1420: 1419: 1414: 1407: 1406:External links 1404: 1401: 1400: 1364: 1336: 1312: 1298: 1291: 1271: 1258:(8): 455–460. 1238: 1198: 1179: 1153:(3): 195–196. 1130: 1101: 1094: 1074: 1049: 1014: 984: 969: 942: 941: 939: 936: 934: 933: 928: 923: 918: 913: 908: 902: 901: 900: 884: 881: 849:differentiated 827:expert systems 814: 811: 803:problem domain 753: 750: 727:software bloat 650:Main article: 647: 644: 632: 631: 624:Dennis Ritchie 617: 610: 599: 588: 577: 542: 539: 512: 509: 490: 487: 485: 482: 477:spaghetti code 441: 438: 428: 425: 385:prove theorems 378:disallows the 297:can be purely 237: 234: 233: 232: 219: 213: 207: 206: 205: 199: 187: 181: 175: 165: 155: 154: 153: 134: 133: 132: 126: 120: 108: 107: 106: 105: 104: 98: 82: 69:execution flow 15: 9: 6: 4: 3: 2: 5745: 5734: 5731: 5729: 5726: 5724: 5721: 5720: 5718: 5703: 5695: 5693: 5685: 5683: 5675: 5674: 5671: 5665: 5662: 5660: 5657: 5655: 5652: 5650: 5647: 5645: 5642: 5640: 5637: 5635: 5632: 5630: 5627: 5625: 5622: 5620: 5617: 5615: 5612: 5610: 5607: 5605: 5602: 5600: 5597: 5595: 5592: 5590: 5587: 5585: 5582: 5580: 5577: 5575: 5572: 5570: 5567: 5566: 5564: 5560: 5554: 5551: 5549: 5546: 5544: 5541: 5539: 5538:Mixed reality 5536: 5534: 5531: 5529: 5526: 5524: 5521: 5519: 5516: 5515: 5513: 5511: 5507: 5501: 5498: 5496: 5493: 5491: 5488: 5486: 5483: 5481: 5478: 5477: 5475: 5473: 5469: 5463: 5460: 5458: 5455: 5453: 5450: 5448: 5445: 5443: 5440: 5438: 5435: 5433: 5430: 5428: 5425: 5424: 5422: 5420: 5416: 5410: 5407: 5405: 5402: 5400: 5397: 5395: 5392: 5390: 5387: 5386: 5384: 5382: 5378: 5372: 5371:Accessibility 5369: 5367: 5366:Visualization 5364: 5362: 5359: 5357: 5354: 5352: 5349: 5348: 5346: 5344: 5340: 5334: 5331: 5329: 5326: 5324: 5321: 5319: 5316: 5314: 5311: 5309: 5306: 5304: 5301: 5299: 5296: 5294: 5291: 5290: 5288: 5286: 5282: 5276: 5273: 5271: 5268: 5266: 5263: 5261: 5258: 5256: 5253: 5251: 5248: 5246: 5243: 5241: 5238: 5236: 5233: 5231: 5228: 5226: 5223: 5221: 5218: 5216: 5213: 5211: 5208: 5207: 5205: 5203: 5199: 5193: 5190: 5188: 5185: 5183: 5180: 5178: 5175: 5173: 5170: 5168: 5165: 5163: 5160: 5158: 5155: 5154: 5152: 5150: 5145: 5139: 5136: 5134: 5131: 5129: 5126: 5124: 5121: 5119: 5116: 5115: 5113: 5111: 5107: 5101: 5098: 5096: 5093: 5091: 5088: 5086: 5083: 5081: 5078: 5076: 5073: 5069: 5066: 5065: 5064: 5061: 5060: 5058: 5056: 5052: 5046: 5043: 5041: 5038: 5036: 5033: 5031: 5028: 5026: 5023: 5021: 5018: 5016: 5013: 5011: 5008: 5006: 5003: 5001: 4998: 4997: 4995: 4993: 4989: 4983: 4980: 4978: 4975: 4973: 4970: 4968: 4965: 4963: 4960: 4958: 4955: 4953: 4950: 4948: 4945: 4943: 4940: 4938: 4935: 4934: 4932: 4930: 4926: 4922: 4916: 4913: 4911: 4908: 4906: 4903: 4901: 4898: 4896: 4893: 4892: 4890: 4886: 4880: 4877: 4875: 4872: 4870: 4867: 4865: 4862: 4860: 4857: 4855: 4852: 4851: 4849: 4847: 4843: 4837: 4834: 4832: 4829: 4827: 4826:Dependability 4824: 4822: 4819: 4817: 4814: 4813: 4811: 4807: 4801: 4797: 4794: 4792: 4789: 4787: 4784: 4782: 4779: 4777: 4774: 4772: 4769: 4767: 4764: 4762: 4759: 4757: 4754: 4752: 4749: 4748: 4746: 4744: 4740: 4735: 4729: 4725: 4718: 4713: 4711: 4706: 4704: 4699: 4698: 4695: 4680: 4674: 4669: 4663: 4658: 4652: 4651: 4637: 4634: 4632: 4629: 4627: 4624: 4622: 4619: 4617: 4614: 4613: 4611: 4609: 4605: 4599: 4596: 4594: 4591: 4589: 4586: 4584: 4581: 4580: 4577: 4574: 4572: 4569: 4567: 4564: 4562: 4559: 4558: 4556: 4552: 4548: 4541: 4536: 4534: 4529: 4527: 4522: 4521: 4518: 4506: 4498: 4496: 4493: 4491: 4488: 4486: 4483: 4481: 4478: 4470: 4469: 4466: 4460: 4459: 4455: 4453: 4450: 4448: 4445: 4443: 4440: 4438: 4435: 4433: 4430: 4428: 4425: 4423: 4420: 4418: 4415: 4413: 4410: 4408: 4405: 4403: 4400: 4398: 4395: 4391: 4390:Object Pascal 4388: 4387: 4386: 4383: 4381: 4378: 4376: 4373: 4371: 4368: 4366: 4363: 4361: 4358: 4356: 4353: 4351: 4348: 4346: 4343: 4341: 4338: 4336: 4333: 4331: 4328: 4326: 4323: 4321: 4318: 4316: 4313: 4311: 4308: 4306: 4303: 4301: 4298: 4292: 4289: 4287: 4284: 4283: 4282: 4279: 4278: 4277: 4274: 4272: 4269: 4267: 4264: 4260: 4257: 4256: 4255: 4252: 4250: 4247: 4246: 4243: 4237: 4234: 4232: 4229: 4227: 4224: 4223: 4220: 4216: 4209: 4204: 4202: 4197: 4195: 4190: 4189: 4186: 4177: 4171: 4166: 4160: 4155: 4149: 4148: 4134: 4131: 4129: 4126: 4124: 4121: 4119: 4116: 4114: 4111: 4110: 4108: 4106: 4102: 4096: 4093: 4091: 4088: 4086: 4083: 4081: 4078: 4077: 4074: 4071: 4069: 4066: 4064: 4061: 4059: 4056: 4055: 4053: 4049: 4045: 4038: 4033: 4031: 4026: 4024: 4019: 4018: 4015: 4003: 4000: 3998: 3995: 3993: 3990: 3988: 3985: 3983: 3980: 3978: 3975: 3973: 3972:Data-oriented 3970: 3968: 3965: 3963: 3960: 3958: 3955: 3954: 3952: 3950: 3944: 3938: 3935: 3933: 3930: 3928: 3925: 3923: 3920: 3917: 3913: 3909: 3905: 3901: 3898: 3896: 3893: 3891: 3888: 3885: 3881: 3878: 3876: 3873: 3871: 3870:Homoiconicity 3868: 3866: 3863: 3861: 3858: 3856: 3853: 3850: 3846: 3843: 3841: 3838: 3837: 3835: 3833: 3829: 3823: 3820: 3818: 3815: 3813: 3810: 3808: 3805: 3803: 3800: 3798: 3795: 3793: 3790: 3788: 3785: 3783: 3780: 3778: 3777:Concurrent OO 3775: 3772: 3768: 3765: 3763: 3760: 3758: 3755: 3753: 3750: 3749: 3747: 3745: 3740: 3735: 3731: 3721: 3718: 3715: 3711: 3707: 3703: 3700: 3698: 3695: 3693: 3690: 3688: 3685: 3683: 3680: 3678: 3675: 3673: 3672:Set-theoretic 3670: 3668: 3665: 3663: 3660: 3658: 3655: 3653: 3652:Probabilistic 3650: 3648: 3644: 3641: 3639: 3636: 3634: 3631: 3629: 3626: 3624: 3621: 3619: 3616: 3614: 3611: 3609: 3606: 3604: 3601: 3599: 3596: 3594: 3591: 3589: 3586: 3583: 3579: 3576: 3573: 3569: 3566: 3564: 3561: 3559: 3556: 3555: 3553: 3551: 3547: 3541: 3538: 3536: 3533: 3531: 3528: 3526: 3523: 3521: 3518: 3515: 3511: 3508: 3506: 3503: 3501: 3498: 3497: 3495: 3493: 3489: 3483: 3480: 3478: 3475: 3473: 3470: 3467: 3463: 3460: 3458: 3455: 3454: 3452: 3450: 3446: 3440: 3436: 3433: 3431: 3430:Concatenative 3427: 3424: 3422: 3419: 3417: 3414: 3412: 3409: 3407: 3404: 3402: 3399: 3397: 3394: 3392: 3389: 3387: 3384: 3382: 3379: 3376: 3372: 3369: 3367: 3364: 3363: 3361: 3358: 3353: 3349: 3346: 3344: 3340: 3330: 3327: 3325: 3322: 3320: 3317: 3315: 3312: 3310: 3306: 3302: 3299: 3298: 3296: 3293: 3289: 3284: 3280: 3274: 3271: 3269: 3266: 3264: 3261: 3259: 3256: 3254: 3251: 3249: 3246: 3244: 3241: 3239: 3236: 3234: 3231: 3230: 3228: 3226: 3222: 3219: 3217: 3213: 3208: 3204: 3197: 3192: 3190: 3185: 3183: 3178: 3177: 3174: 3168: 3161: 3143: 3135: 3133: 3125: 3123: 3115: 3114: 3111: 3105: 3102: 3100: 3097: 3095: 3092: 3090: 3087: 3085: 3082: 3080: 3077: 3075: 3072: 3070: 3067: 3065: 3062: 3060: 3057: 3055: 3052: 3050: 3047: 3045: 3042: 3040: 3037: 3035: 3032: 3030: 3027: 3025: 3022: 3020: 3017: 3015: 3012: 3010: 3007: 3006: 3004: 3000: 2994: 2991: 2989: 2986: 2984: 2981: 2979: 2978:Mixed reality 2976: 2974: 2971: 2969: 2966: 2964: 2961: 2959: 2956: 2955: 2953: 2951: 2947: 2941: 2938: 2936: 2933: 2931: 2928: 2926: 2923: 2921: 2918: 2917: 2915: 2913: 2909: 2903: 2900: 2898: 2895: 2893: 2890: 2888: 2885: 2883: 2880: 2878: 2875: 2873: 2870: 2868: 2865: 2864: 2862: 2860: 2856: 2850: 2847: 2845: 2842: 2840: 2837: 2835: 2832: 2830: 2827: 2826: 2824: 2822: 2818: 2812: 2811:Accessibility 2809: 2807: 2806:Visualization 2804: 2802: 2799: 2797: 2794: 2792: 2789: 2788: 2786: 2784: 2780: 2774: 2771: 2769: 2766: 2764: 2761: 2759: 2756: 2754: 2751: 2749: 2746: 2744: 2741: 2739: 2736: 2734: 2731: 2730: 2728: 2726: 2722: 2716: 2713: 2711: 2708: 2706: 2703: 2701: 2698: 2696: 2693: 2691: 2688: 2686: 2683: 2681: 2678: 2676: 2673: 2671: 2668: 2666: 2663: 2661: 2658: 2656: 2653: 2651: 2648: 2647: 2645: 2643: 2639: 2633: 2630: 2628: 2625: 2623: 2620: 2618: 2615: 2613: 2610: 2608: 2605: 2603: 2600: 2598: 2595: 2594: 2592: 2590: 2585: 2579: 2576: 2574: 2571: 2569: 2566: 2564: 2561: 2559: 2556: 2555: 2553: 2551: 2547: 2541: 2538: 2536: 2533: 2531: 2528: 2526: 2523: 2521: 2518: 2516: 2513: 2509: 2506: 2505: 2504: 2501: 2500: 2498: 2496: 2492: 2486: 2483: 2481: 2478: 2476: 2473: 2471: 2468: 2466: 2463: 2461: 2458: 2456: 2453: 2451: 2448: 2446: 2443: 2441: 2438: 2437: 2435: 2433: 2429: 2423: 2420: 2418: 2415: 2413: 2410: 2408: 2405: 2403: 2400: 2398: 2395: 2393: 2390: 2388: 2385: 2383: 2380: 2378: 2375: 2374: 2372: 2370: 2366: 2362: 2356: 2353: 2351: 2348: 2346: 2343: 2341: 2338: 2336: 2333: 2332: 2330: 2326: 2320: 2317: 2315: 2312: 2310: 2307: 2305: 2302: 2300: 2297: 2295: 2292: 2291: 2289: 2287: 2283: 2277: 2274: 2272: 2269: 2267: 2266:Dependability 2264: 2262: 2259: 2257: 2254: 2253: 2251: 2247: 2241: 2237: 2234: 2232: 2229: 2227: 2224: 2222: 2219: 2217: 2214: 2212: 2209: 2207: 2204: 2202: 2199: 2197: 2194: 2192: 2189: 2188: 2186: 2184: 2180: 2175: 2169: 2165: 2158: 2153: 2151: 2146: 2144: 2139: 2138: 2135: 2123: 2115: 2113: 2105: 2104: 2101: 2095: 2092: 2090: 2087: 2085: 2082: 2080: 2077: 2075: 2072: 2070: 2067: 2066: 2064: 2060: 2050: 2047: 2045: 2042: 2040: 2037: 2035: 2032: 2031: 2029: 2025: 2019: 2016: 2014: 2013:Systems model 2011: 2009: 2006: 2004: 2001: 1999: 1996: 1994: 1991: 1989: 1986: 1984: 1981: 1979: 1976: 1974: 1971: 1970: 1968: 1964: 1958: 1955: 1953: 1950: 1948: 1945: 1943: 1940: 1938: 1935: 1933: 1930: 1928: 1925: 1923: 1920: 1918: 1915: 1913: 1910: 1908: 1905: 1903: 1900: 1898: 1895: 1893: 1890: 1888: 1885: 1884: 1882: 1880:Developmental 1878: 1875: 1871: 1865: 1862: 1860: 1857: 1855: 1852: 1850: 1847: 1845: 1842: 1840: 1837: 1836: 1834: 1830: 1824: 1821: 1817: 1814: 1813: 1812: 1809: 1807: 1804: 1802: 1799: 1797: 1794: 1792: 1789: 1787: 1784: 1782: 1779: 1777: 1774: 1772: 1769: 1767: 1764: 1762: 1759: 1757: 1754: 1752: 1749: 1747: 1744: 1742: 1741:Data modeling 1739: 1735: 1732: 1730: 1727: 1725: 1722: 1720: 1717: 1715: 1712: 1711: 1710: 1707: 1705: 1702: 1700: 1697: 1696: 1694: 1690: 1684: 1681: 1679: 1676: 1674: 1671: 1669: 1666: 1664: 1661: 1659: 1656: 1654: 1651: 1649: 1646: 1644: 1641: 1639: 1636: 1634: 1631: 1629: 1626: 1624: 1621: 1619: 1616: 1615: 1613: 1609: 1605: 1598: 1593: 1591: 1586: 1584: 1579: 1578: 1575: 1563: 1560: 1558: 1555: 1553: 1550: 1549: 1547: 1543: 1537: 1534: 1532: 1529: 1527: 1526:Specification 1524: 1522: 1519: 1517: 1514: 1512: 1509: 1507: 1504: 1502: 1499: 1497: 1494: 1492: 1489: 1487: 1486:Data exchange 1484: 1482: 1479: 1478: 1476: 1472: 1468: 1460: 1455: 1453: 1448: 1446: 1441: 1440: 1437: 1431: 1424: 1418: 1415: 1413: 1410: 1409: 1390:on 2018-09-20 1386: 1382: 1375: 1368: 1354: 1347: 1340: 1326: 1322: 1316: 1308: 1302: 1294: 1292:9780763737207 1288: 1284: 1283: 1275: 1266: 1261: 1257: 1253: 1249: 1242: 1233: 1229: 1225: 1221: 1217: 1213: 1209: 1202: 1194: 1190: 1183: 1172: 1168: 1164: 1160: 1156: 1152: 1148: 1141: 1134: 1119: 1115: 1111: 1105: 1097: 1091: 1088:. MIT Press. 1087: 1086: 1078: 1060: 1053: 1039:on 2012-03-07 1035: 1028: 1021: 1019: 1003: 999: 995: 988: 981: 980: 973: 965: 961: 957: 953: 947: 943: 932: 929: 927: 924: 922: 919: 917: 914: 912: 909: 907: 904: 903: 898: 892: 887: 880: 878: 874: 870: 868: 864: 860: 856: 854: 850: 846: 842: 840: 836: 832: 828: 824: 819: 810: 808: 804: 800: 796: 791: 789: 785: 781: 777: 773: 769: 767: 764: 759: 749: 746: 745: 742:motivational 739: 734: 732: 728: 724: 720: 716: 711: 709: 708: 703: 702:encapsulation 699: 695: 691: 687: 683: 679: 675: 671: 667: 663: 659: 653: 643: 641: 637: 629: 625: 621: 618: 615: 611: 608: 604: 600: 597: 593: 589: 586: 582: 578: 575: 571: 567: 563: 559: 558: 557: 555: 551: 547: 538: 536: 532: 527: 525: 521: 517: 508: 506: 501: 499: 495: 481: 478: 474: 473: 468: 464: 460: 456: 452: 448: 437: 435: 424: 422: 419:, notions of 418: 414: 410: 409:shared memory 406: 401: 399: 395: 394: 388: 386: 381: 377: 373: 369: 365: 360: 358: 354: 350: 345: 343: 339: 334: 332: 327: 322: 319: 314: 312: 306: 304: 300: 296: 292: 291:Object Pascal 288: 284: 280: 276: 271: 269: 268:methodologies 265: 262: 258: 254: 251: 242: 231: 227: 223: 220: 217: 214: 211: 208: 203: 200: 197: 194: 193: 191: 188: 185: 182: 179: 176: 173: 169: 166: 163: 159: 156: 151: 147: 144: 143: 142: 138: 135: 130: 127: 124: 121: 118: 115: 114: 112: 109: 102: 99: 96: 93: 92: 90: 86: 83: 80: 76: 73: 72: 70: 66: 63: 62: 61: 58: 56: 52: 48: 44: 39: 37: 33: 29: 22: 5634:Cyberwarfare 5293:Cryptography 4936: 4682:}} 4676:{{ 4671:}} 4665:{{ 4660:}} 4654:{{ 4546: 4490:Generational 4480:Alphabetical 4476: 4456: 4281:Visual Basic 4179:}} 4173:{{ 4168:}} 4162:{{ 4157:}} 4151:{{ 4043: 3977:Event-driven 3381:Higher-order 3309:Object-based 3202: 3074:Cyberwarfare 2733:Cryptography 2376: 2008:Object model 2003:Metamodeling 1932:Spiral model 1832:Orientations 1760: 1392:. Retrieved 1385:the original 1380: 1367: 1357:, retrieved 1352: 1339: 1328:. Retrieved 1324: 1315: 1301: 1281: 1274: 1255: 1251: 1241: 1215: 1211: 1201: 1192: 1182: 1171:the original 1150: 1146: 1133: 1122:. Retrieved 1113: 1104: 1084: 1077: 1066:. Retrieved 1052: 1041:. Retrieved 1034:the original 1006:. Retrieved 997: 987: 977: 972: 964:the original 955: 946: 871: 857: 843: 816: 792: 770: 755: 741: 735: 731:polymorphism 712: 705: 655: 633: 585:mathematical 544: 528: 514: 502: 494:Machine code 492: 489:Machine code 470: 462: 455:Turing Award 450: 443: 430: 420: 402: 391: 389: 372:side-effects 367: 363: 361: 346: 337: 335: 325: 323: 317: 315: 307: 272: 247: 229: 172:spreadsheets 149: 59: 47:side effects 40: 27: 25: 5644:Video games 5624:Digital art 5381:Concurrency 5250:Data mining 5162:Probability 4895:Interpreter 4576:Interpreted 4485:Categorical 4073:Interpreted 3987:Intentional 3967:Data-driven 3949:of concerns 3908:Inferential 3895:Multi-stage 3875:Interactive 3752:Actor-based 3739:distributed 3682:Stack-based 3482:Synchronous 3439:Value-level 3426:Applicative 3343:Declarative 3301:Class-based 3164:Programming 3084:Video games 3064:Digital art 2821:Concurrency 2690:Data mining 2602:Probability 2335:Interpreter 1699:Abstraction 715:controversy 467:Thomas Kuhn 461:, entitled 457:lecture of 111:Declarative 95:Class-based 5717:Categories 5702:Glossaries 5574:E-commerce 5167:Statistics 5110:Algorithms 5068:Stochastic 4900:Middleware 4756:Peripheral 4608:Generation 4588:High-level 4350:JavaScript 4226:Comparison 4105:Generation 4085:High-level 3962:Components 3947:Separation 3922:Reflective 3916:by example 3860:Extensible 3734:Concurrent 3710:Production 3697:Templating 3677:Simulation 3662:Scientific 3582:Spacecraft 3510:Constraint 3505:Answer set 3457:Flow-based 3357:comparison 3352:Functional 3324:Persistent 3288:comparison 3253:Procedural 3225:Structured 3216:Imperative 3142:Glossaries 3014:E-commerce 2607:Statistics 2550:Algorithms 2508:Stochastic 2340:Middleware 2196:Peripheral 2018:View model 1983:Data model 1531:Stylesheet 1394:2019-02-13 1359:2019-02-13 1330:2014-07-30 1124:2022-05-03 1068:2014-01-27 1043:2013-11-20 1008:2014-02-20 938:References 877:reflection 784:assignment 717:raised by 640:efficiency 596:algorithms 531:subroutine 299:procedural 117:functional 79:procedures 75:procedural 65:Imperative 5523:Rendering 5518:Animation 5149:computing 5100:Semantics 4791:Processor 4583:Low-level 4447:Smalltalk 4080:Low-level 3849:Inductive 3845:Automatic 3667:Scripting 3366:Recursive 2963:Rendering 2958:Animation 2589:computing 2540:Semantics 2231:Processor 2027:Languages 1465:Types of 867:hypertext 790:instead. 788:recursion 776:functions 713:There is 666:Smalltalk 427:Criticism 301:, purely 279:Smalltalk 264:processes 5682:Category 5510:Graphics 5285:Security 4947:Compiler 4846:Networks 4743:Hardware 4648:See also 4598:Esoteric 4571:Compiled 4566:Assembly 4505:Category 4271:Assembly 4231:Timeline 4145:See also 4095:Esoteric 4068:Compiled 4063:Assembly 4002:Subjects 3992:Literate 3982:Features 3937:Template 3932:Symbolic 3904:Bayesian 3884:Hygienic 3744:parallel 3623:Modeling 3618:Low-code 3593:End-user 3530:Ontology 3462:Reactive 3449:Dataflow 3122:Category 2950:Graphics 2725:Security 2387:Compiler 2286:Networks 2183:Hardware 2122:Category 1988:ER model 1854:Ontology 1766:Software 1692:Concepts 1545:See also 1506:Modeling 1232:35714982 1118:Archived 1002:Archived 883:See also 873:Symbolic 636:efficacy 607:pointers 511:Assembly 374:, while 253:research 236:Overview 226:Simulink 129:reactive 5692:Outline 4561:Machine 4458:more... 4437:Scratch 4340:Haskell 4330:Fortran 4286:classic 4236:History 4058:Machine 3957:Aspects 3865:Generic 3855:Dynamic 3714:Pattern 3692:Tactile 3657:Quantum 3647:filters 3578:Command 3477:Streams 3472:Signals 3243:Modular 3132:Outline 2112:Commons 1937:V-model 1521:Shading 1167:6853038 707:methods 700:. This 581:FORTRAN 469:in his 440:History 368:support 342:objects 283:Haskell 141:futures 89:objects 55:grammar 4631:Fourth 4621:Second 4477:Lists: 4412:Python 4407:Prolog 4385:Pascal 4375:MATLAB 4360:Kotlin 4320:Erlang 4259:Simula 4128:Fourth 4118:Second 3720:Visual 3687:System 3572:Action 3396:Strict 1873:Models 1623:DevOps 1611:Fields 1501:Markup 1289:  1230:  1165:  1092:  839:Prolog 698:object 688:, and 678:Python 674:Eiffel 662:Simula 364:forbid 150:actors 51:syntax 5095:Logic 4929:tools 4636:Fifth 4626:Third 4616:First 4554:Level 4452:Swift 4442:Shell 4355:Julia 4325:Forth 4315:COBOL 4276:BASIC 4254:ALGOL 4133:Fifth 4123:Third 4113:First 4051:Level 3997:Roles 3880:Macro 3643:Pipes 3563:Array 3540:Query 3492:Logic 3401:GADTs 3391:Total 3314:Agent 2535:Logic 2369:tools 2049:SysML 1973:SPICE 1966:Other 1927:Scrum 1887:Agile 1839:Agile 1823:CI/CD 1516:Query 1474:Types 1388:(PDF) 1377:(PDF) 1349:(PDF) 1228:S2CID 1174:(PDF) 1163:S2CID 1143:(PDF) 1062:(PDF) 1037:(PDF) 1030:(PDF) 744:memes 614:BASIC 592:ALGOL 562:COBOL 421:place 415:with 293:, or 123:logic 4927:and 4800:Form 4796:Size 4427:Rust 4422:Ruby 4397:Perl 4365:Lisp 4345:Java 4291:.NET 3645:and 3292:list 2367:and 2240:Form 2236:Size 2034:IDEF 1978:CMMI 1864:SDLC 1287:ISBN 1090:ISBN 837:and 835:Lisp 793:The 694:data 686:Java 638:and 603:PL/I 574:copy 572:and 570:move 566:file 403:For 380:goto 311:code 53:and 34:. A 4432:SQL 4402:PHP 4370:Lua 4305:C++ 4266:APL 4249:Ada 3550:DSL 2044:USL 2039:UML 1917:RAD 1892:EUP 1260:doi 1220:doi 1155:doi 766:SQL 682:PHP 670:C++ 336:In 295:PHP 287:C++ 5719:: 4798:/ 4380:ML 4335:Go 4310:C# 3914:, 3910:, 3906:, 3712:, 3708:, 3437:, 3428:, 3307:, 3303:, 3290:, 2238:/ 1947:XP 1922:UP 1379:. 1351:, 1323:. 1256:22 1254:. 1250:. 1226:. 1216:43 1214:. 1210:. 1191:. 1161:. 1151:30 1149:. 1145:. 1112:. 1017:^ 1000:. 996:. 958:. 954:. 855:. 841:. 829:, 825:, 756:A 733:. 721:, 690:C# 684:, 680:, 676:, 672:, 668:, 664:, 568:, 526:. 507:. 436:. 411:, 359:. 333:. 289:, 273:A 57:. 26:A 4736:. 4716:e 4709:t 4702:v 4539:e 4532:t 4525:v 4417:R 4300:C 4207:e 4200:t 4193:v 4036:e 4029:t 4022:v 3918:) 3902:( 3886:) 3882:( 3851:) 3847:( 3773:) 3769:( 3741:, 3736:, 3716:) 3704:( 3584:) 3580:( 3574:) 3570:( 3516:) 3512:( 3468:) 3464:( 3377:) 3373:( 3359:) 3355:( 3294:) 3286:( 3209:) 3205:( 3195:e 3188:t 3181:v 2176:. 2156:e 2149:t 2142:v 1596:e 1589:t 1582:v 1458:e 1451:t 1444:v 1397:. 1333:. 1309:. 1295:. 1268:. 1262:: 1236:. 1234:. 1222:: 1157:: 1127:. 1098:. 1071:. 1046:. 1011:. 630:. 620:C 609:. 576:. 174:) 164:) 23:.

Index

Programming model
computer program
programming language
execution model
side effects
syntax
grammar
Imperative
execution flow
procedural
procedures
object-oriented
objects
Class-based
Prototype-based
Declarative
functional
logic
reactive
Concurrent programming
futures
Actor programming
Constraint programming
simplex algorithm
Dataflow programming
spreadsheets
Distributed programming
Generic programming
Metaprogramming
Template metaprogramming

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

↑