Knowledge

End-user development

Source đź“ť

428:
used for creating automation scripts or interactive tutorials for sharing “how-to” knowledge. Examples of such application include CoScripter and HILC. In such applications, user can create scripts for tasks using pseudo-natural language or via programming by demonstration. The users can choose to upload the script to a wiki style repository of scripts. On this wiki, users can browse available scripts and extend existing scripts to support additional parameters, to handle additional conditions or to operate on additional objects.
90:. Due to their unrestricted nature, spreadsheets allow relatively un-sophisticated computer users to write programs that represent complex data models, while shielding them from the need to learn lower-level programming languages. Because of their common use in business, spreadsheet skills are among the most beneficial skills for a graduate employee to have, and are therefore the most commonly sought after In the United States of America alone, there are an estimated 13 million end-user developers programming with spreadsheets 101:) approach reduces the need for the user to learn the abstractions of a classic programming language. The user instead introduces some examples of the desired results or operations that should be performed on the data, and the PbE system infers some abstractions corresponding to a program that produces this output, which the user can refine. New data may then be introduced to the automatically created program, and the user can correct any mistakes made by the program in order to improve its definition. 373:, EUD essentially outsources development effort to the end user. Because there is always some effort to learn an EUD tool, the users' motivation depends on their confidence that it will empower their work, save time on the job or raise productivity. In this model, the benefits to users are initially based on marketing, demonstrations and word-of-mouth. Once the technology is put into use, experience of actual benefits becomes the key motivator. 420:
solution at use time for their needs, objectives and situational contexts. Then the communication between professional developers and end-user developers can often stimulate formalizing ad hoc modifications by the end users into software artifacts, transforming end-user developed solutions into commercial product features with impacts beyond local solutions.
108:
One evolution in this area has considered the use of mobile devices to support end-user development activities. In this case previous approaches for desktop applications cannot be simply reproposed, given the specific characteristics of mobile devices. Desktop EUD environments lack the advantages of
449:
This viewpoint assumes that all end users are equally naive when it comes to understanding software, although Pliskin and Shoval argue this is not the case, that sophisticated end users are capable of end-user development. However, compared with expert programmers, end-user programmers rarely have
427:
Besides programming collaboration platforms like GitHub, which are mostly utilized by expert developers due to their steep learning curve, collaborations among end-user developers often take place on wiki platforms where the software artifacts created are shared. End-user development is also often
431:
Online and offline communities of end-user developers have also been formed, where end-user developers can collaboratively solve EUD problems of shared interest or for mutual benefit. In such communities, local experts spread expertise and advice. Community members also provide social support for
143:
Roughly 40 vendors now offer solutions targeted at end users designed to reduce programming efforts. These solutions do not require traditional programming and may be based around relatively narrow functionality, e.g. contract management, customer relationships management, issue and bug tracking.
444:
It’s simply unfathomable that we could expect security... from the vast majority of software applications out there when they’re written with little, if any, knowledge of generally accepted good practices such as specifying before coding, systematic testing, and so on.... How many X for Complete
419:
Mutual development is a technique where professional developers and end-user developers work together in creating software solutions. In mutual development, the professional developers often “under design” the system and provide the tools to allow the “owners of problems" to create the suitable
423:
In this collaboration, various approaches such as the Software Shaping Workshop are proposed to bridge the communication gap between professional developers and end-user developers. These approaches often provide translucency according to the social translucence model, enabling everyone in the
186:
generation. They can also be parameters that choose between alternative predefined behaviors of an application. Other artifacts of end-user development may also refer to the creation of user-generated content such as annotations, which may be or not computationally interpretable (i.e. can be
465:
tools that support rigorous business and security rules at the expense of performance and scalability; tools created using EUD will typically have worse efficiency than those created with professional programming environments. Though separating functionality from efficiency is a valid
751:
Lieberman, H., Paternò, F., Klann, M., and Wulf, V. (2006). End-User Development: An Emerging Paradigm. In: End-User Development, Lieberman, H., Paternò, F., and Wulf, V. (eds.), Springer Netherlands, 2006, ser. Human-Computer Interaction Series, vol. 9, Chapter 1, pp. 1-7,
1701: 822:
H. Lieberman, B. A. Nardi, and D. Wright. Grammex: Defining grammars by example. In ACM conference on Human Factors in Computing Systems (Summary, Demonstrations) (CHI ’98), Los Angeles, California, USA, pages 11–12. ACM Press, Apr.
838:. In Lieberman, H., Paternò, F., Wulf, V. (Eds) (2004) End User Development - Empowering People to Flexibly Employ Advanced Information and Communication Technology, © 2004 Kluwer Academic Publishers, Dordrecht, The Netherlands. 156:
End-User Development can be defined as a set of methods, techniques, and tools that allow users of software systems, who are acting as non-professional software developers, at some point to create, modify or extend a software
769:
Ko, Andrew J.; Abraham, Robin; Beckwith, Laura; Blackwell, Alan; Burnett, Margaret; Erwig, Martin; Scaffidi, Chris; Lawrance, Joseph; Lieberman, Henry (2011-04-01). "The State of the Art in End-user Software Engineering".
445:
Idiots (where "X" is your favorite programming language) books are out there? I was initially amused by this trend, but recently I’ve become uneasy thinking about where these dabblers are applying their newfound knowledge.
729:
Ghiani, G., Manca, M., Paternò, F., Santoro, C.: Personalization of Context-dependent Applications through Trigger-Action Rules. ACM Transactions on Computer-Human Interaction, Vol.24, Issue 2, Article N.14, April
834: 457:
has emerged. It is concerned with issues beyond end-user development, whereby end users become motivated to consider issues such as reusability, security and verifiability when developing their solutions.
393:
The first and second costs are incurred once during acquisition, whereas the third and fourth are incurred every time an application is developed. Benefits (which may be perceived or actual) are seen as:
169:
Artifacts defined by end users may be objects describing some automated behavior or control sequence, such as database requests or grammar rules, which can be described with programming paradigms such as
51:) that by 2012 there would be more than 55 million end-user developers in the United States, compared with fewer than 3 million professional programmers. Various EUD approaches exist, and it is an active 450:
the time or interest in systematic and disciplined software engineering activities, which makes ensuring the quality of the software artifact produced by end-user development particularly challenging.
440:
Commentators have been concerned that end users do not understand how to test and secure their applications. Warren Harrison, a professor of computer science at Portland State University, wrote:
416:
Many end-user development activities are collaborative in nature, including collaboration between professional developers and end-user developers and collaboration among end-user developers.
728: 112:
More recently, interest in how to exploit EUD to support development of Internet of Things applications has increased. In this area trigger-action programming seems a promising approach.
681: 1839: 958:
Sarkar, Advait; Blackwell, Alan; Jamnik, Mateja; Spott, Martin (July 2014). "Teach and try: A simple interaction technique for exploratory data modelling by end users".
1626:
B. Guo, D. Zhang, M. Imai. Enabling User-Oriented Management for Ubiquitous Computing: The Meta-Design Approach, Computer Networks, Elsevier, Vol. 54, No. 16, 2010.
1718: 1745: 1809: 588: 1758: 701: 917:
Leonardi, Nicola; Manca, Marco; Paternò, Fabio; Santoro, Carmen (2019). "Trigger-Action Programming for Personalising Humanoid Robot Behaviour".
144:
Often referred to as low code development platforms, web based interactions guide a user to develop an application in as little as 40–80 hours.
1908: 1843: 1010: 678: 1269:
Erickson, Thomas; Kellogg, Wendy A. (2000-03-01). "Social Translucence: An Approach to Designing Systems That Support Social Processes".
274: 1394:
Fischer, G.; Giaccardi, E.; Ye, Y.; Sutcliffe, A. G.; Mehandjiev, N. (2004-09-01). "Meta-design: A Manifesto for End-user Development".
1097:
Andersen, Renate; Mørch, Anders I. (2009-03-02). "Mutual Development: A Case Study in Customer-Initiated Software Product Development".
1738: 1972: 1222:
Lieberman, Henry; Paternò, Fabio; Klann, Markus; Wulf, Volker (2006-01-01). Lieberman, Henry; Paternò, Fabio; Wulf, Volker (eds.).
2589: 2322: 2184: 639: 2328: 862: 482:. Thus, users will define the functions required before these experts have a chance to consider the limitations of a specific 1731: 1655: 1602: 1581: 1167: 1124: 985: 564: 204:
scripts used by graphic artists to describe characters, environments and how characters move to produce an intended animation
2513: 2261: 602:
Should we leverage natural-language knowledge? An analysis of user errors in a natural-language-style programming language
424:
collaboration to be aware of changes made by others and to be held accountable of their actions because of the awareness.
250:
and domain-specific programs written by businesspeople, engineers, and scientists to demonstrate or test specific theories
934: 1981: 876:
Scaffidi, Christopher; Brandt, Joel; Burnett, Margaret; Dove, Andrew; Myers, Brad (2012). "SIG: End-user programming".
1522: 1370: 1329: 1245: 1206: 1051: 893: 1140:
Fischer, Gerhard (1994-01-01). "Putting the Owners of Problems in Charge with Domain-oriented Design Environments".
718:
Paternò F., 2013, ISRN Software Engineering, End User Development: Survey of an Emerging Field for Empowering People
226:
to introduce users' own characters, environments, etc. — many recent games are distributed with modification in mind
2353: 2033: 1977: 1709: 165:
End-user programming is programming to achieve the result of a program primarily for personal, rather public use.
2213: 2086: 2017: 1952: 1875: 348: 547:
Scaffidi, C.; Shaw, M.; Myers, B. (2005-09-01). "Estimating the Numbers of End Users and End User Programmers".
2391: 2154: 1784: 740: 513: 326: 102: 2574: 2169: 2159: 1937: 1505:
Brandt, Joel; Guo, Philip J.; Lewenstein, Joel; Klemmer, Scott R. (2008-01-01). "Opportunistic programming".
601: 490:. Senior management support for such end-user initiatives depends on their attitude to existing or potential 287: 1638:
Kierkegaard, Patrick (2011). "Beefing up End User Development: Legal Protection and Regulatory Compliance".
1353:
Intharah, Thanapong; Turmukhambetov, Daniyar; Brostow, Gabriel J. (2017-01-01). "Help, It Looks Confusing".
2553: 2533: 2463: 2406: 2368: 2358: 2318: 2243: 2179: 2149: 2076: 2065: 1962: 1942: 1917: 1880: 1630: 621: 518: 171: 132: 64: 295: 2508: 2271: 2238: 2133: 2109: 2071: 2051: 1947: 1856: 1834: 1819: 698: 314: 217: 120: 116: 76: 1183:
Fischer, Gerhard; Giaccardi, Elisa (2006-01-01). Lieberman, Henry; Paternò, Fabio; Wulf, Volker (eds.).
2579: 2455: 2441: 2348: 2308: 2233: 2139: 2119: 1986: 1865: 1799: 60: 48: 2548: 2313: 2223: 2203: 2189: 591:." Proceedings of the 19th annual ACM symposium on User interface software and technology. ACM, 2006. 309: 1677: 1150: 1107: 968: 784: 2584: 2528: 2488: 2431: 2363: 2101: 1932: 183: 2538: 2518: 2459: 2446: 2426: 2253: 1990: 1894: 1852: 1723: 523: 462: 43:(descriptions of automated behavior) and complex data objects without significant knowledge of a 1190: 1184: 1043: 1037: 2498: 2473: 2467: 2411: 2373: 2061: 2056: 2008: 1903: 1804: 1776: 1767: 1633:. In: Soegaard, Mads and Dam, Rikke Friis (eds.). "Encyclopedia of Human-Computer Interaction". 1145: 1102: 963: 779: 467: 175: 94: 80: 1229: 1223: 708:. 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC’05), pp.207–214. 2400: 2396: 2338: 2290: 1860: 604:." Proceedings of the SIGCHI conference on Human Factors in Computing Systems. ACM, 1999. APA 503: 471: 223: 52: 2543: 2523: 2483: 2285: 2013: 2000: 1754: 528: 483: 475: 279: 247: 242: 44: 36: 8: 2478: 2416: 2228: 2208: 2194: 1926: 1794: 1789: 848: 291: 257: 2295: 2248: 2218: 2164: 2023: 1922: 1814: 1665: 1528: 1487: 1419: 1376: 1335: 1294: 1251: 1067: 991: 940: 899: 866:. End-User Development Lecture Notes in Computer Science, 2009, Volume 5435/2009, 3-14, 805: 570: 508: 487: 370: 207: 201: 179: 72: 1312:
Leshed, Gilly; Haber, Eben M.; Matthews, Tara; Lau, Tessa (2008-01-01). "CoScripter".
2451: 2343: 2198: 2174: 2114: 2081: 2043: 2028: 1967: 1651: 1598: 1577: 1518: 1411: 1366: 1325: 1286: 1241: 1202: 1163: 1120: 1047: 981: 944: 930: 889: 797: 560: 479: 267: 1532: 1491: 1423: 1380: 1255: 995: 903: 717: 574: 2333: 2265: 2129: 1870: 1643: 1616: 1510: 1477: 1446: 1403: 1358: 1339: 1317: 1298: 1278: 1233: 1194: 1155: 1112: 1079: 973: 922: 881: 809: 789: 753: 617: 552: 305: 283: 211: 56: 39:. People who are not professional developers can use EUD tools to create or modify 32: 1592: 1039:
Wisdom-aware computing: on the interactive recommendation of composition knowledge
2383: 2257: 2123: 1824: 1713: 1647: 1571: 1159: 1036:
Roy Chowdhury, Soudip; Rodriguez, Carlos; Daniel, Florian; Casati, Fabio (2010).
705: 685: 330: 1116: 2435: 2091: 1957: 1355:
Proceedings of the 22nd International Conference on Intelligent User Interfaces
977: 863:
End-User Development and Meta-Design: Foundations for Cultures of Participation
549:
2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05)
491: 109:
enabling end users to create applications opportunistically while on the move.
1612: 1507:
Proceedings of the 4th international workshop on End-user software engineering
2568: 2421: 1415: 1290: 1198: 801: 1642:. Lecture Notes in Computer Science. Vol. 6654/2011. pp. 203–217. 1514: 1482: 1465: 1437:
Harrison, Warren (July–August 2004). "The Dangers of End-User Programming".
1407: 1362: 1321: 1237: 1083: 960:
2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
926: 919:
Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems
885: 793: 757: 470:, it can lead to a situation where end users will complete and document the 1615:, ISRN Software Engineering, vol. 2013, Article ID 532659, 11 pages, 2013. 301: 263: 236: 197:
Examples of end-user development include the creation and modification of:
1620: 1546: 1314:
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
1282: 1070:(July 2005). "Evaluating the costs and benefits of end-user development". 832:
Maria Francesca Costabile, Daniela Fogli, Piero Mussio, Antonio Piccinno.
556: 2303: 1466:"End-user prototyping: sophisticated users supporting system development" 386:
Development cost: the effort to develop applications using the technology
354: 318: 230: 87: 68: 1706: 380:
Technical cost: the price of the technology and the effort to install it
1613:
End User Development: Survey of an Emerging Field for Empowering People
1450: 461:
An alternative scenario is that end users or their consultants employ
138: 1707:
The European Commission Network of Excellence on End-User Development
1101:. Lecture Notes in Computer Science. Vol. 5435. pp. 31–49. 663:
Abraham, R.; Burnett, M; Erwig, M (2009). "Spreadsheet programming".
1697:
EUSES Consortium, a collaboration that researches end user computing
1228:. Human-Computer Interaction Series. Springer Netherlands. pp.  1189:. Human-Computer Interaction Series. Springer Netherlands. pp.  847:
Costabile, M.F., Fogli, D., Letondal, C., Mussio, P., Piccinno, A.,
1691: 358: 336: 128: 124: 115:
Lessons learned from EUD solutions can significantly influence the
1753: 1035: 432:
each other to support the collaborative construction of software.
1719:
Conference Series International Symposium on End-User Development
322: 878:
CHI '12 Extended Abstracts on Human Factors in Computing Systems
1142:
User-Centred Requirements for Software Engineering Environments
1696: 1352: 304:
models, e.g., used for budgeting, risk analysis, interactive
849:
Domain -Expert Users and their Needs of Software Development
835:
End-user development: the software shaping workshop approach
699:
Estimating the Numbers of End Users and End User Programmers
389:
Test and debugging cost: the time taken to verify the system
1597:. Contributor Ben Shneiderman. Publisher: Morgan Kaufmann. 1393: 951: 916: 342: 47:. In 2005 it was estimated (using statistics from the U.S. 35:– people who are not professional software developers – to 1504: 957: 768: 383:
Learning cost: the time taken to understand the technology
1221: 875: 411: 1629:
Burnett, Margaret M. and Scaffidi, Christopher (2011):
1576:. Contributor Daniel C. Halbert. Publisher: MIT Press. 1316:. CHI '08. New York, NY, USA: ACM. pp. 1719–1728. 1692:
Second International Symposium on End User Development
1311: 851:", UAHCI Conference, Crete, June 22–27, 2003, 232-236. 665:
Wiley Encyclopedia of Computer Science and Engineering
357:
created with end-user oriented tools and apps such as
75:(particularly in an office suite or art application), 1463: 1357:. IUI '17. New York, NY, USA: ACM. pp. 233–243. 214:
are sequenced lists of criteria and actions to take)
210:
that blur the line between programs and data (e.g.,
1547:"End-User Software Engineering: Empirical Findings" 1509:. WEUSE '08. New York, NY, USA: ACM. pp. 1–5. 1066: 662: 152:Lieberman et al. propose the following definition: 139:
Application specific low code development platforms
1144:. Springer, Berlin, Heidelberg. pp. 297–306. 1549:. End Users Shaping Effective Software Consortium 589:Translating keyword commands into executable code 546: 2566: 1182: 628:at "Encyclopedia of Human-Computer Interaction". 1594:Your Wish is My Command: Programming By Example 1268: 1008: 640:"Empowering Users to Create Their Own Software" 631: 616: 345:- a collaborative end-user development process 262:Scripts and macros added to extend or automate 1002: 697:Scaffidi, C., Shaw, M. & Myers, B., 2005. 612: 610: 1739: 1573:Watch What I Do: Programming by Demonstration 1096: 187:processed by associated automated functions). 407:Overall quality of the applications produced 161:Ko et al. propose the following definition: 31:) refers to activities and tools that allow 1637: 688:. Journal of Information Systems Education. 607: 1746: 1732: 401:Flexibility to respond to new requirements 1810:Programming in the large and in the small 1590: 1481: 1149: 1106: 967: 783: 398:Functionality delivered by the technology 1436: 620:; Scaffidi, Christopher (January 2024). 478:of the tool, without the involvement of 376:This study defines costs as the sum of: 364: 317:in the form of visual languages such as 1139: 637: 600:Bruckman, Amy, and Elizabeth Edwards. " 282:of many related items either through a 2567: 1569: 1464:Pliskin, Nava; Shoval, Peretz (1987). 1072:ACM SIGSOFT Software Engineering Notes 412:Collaborations in end-user development 1727: 587:Little, Greg, and Robert C. Miller. " 235:Mobile app development tools such as 13: 1563: 880:. Chi Ea '12. pp. 1193–1996. 677:Kruck, S. & Sheetz, S., 2001. 453:In response to this, the study of 404:Usability of applications produced 339:- plain HTML or HTML and scripting 14: 2601: 1685: 1011:"Circuit Design with Lotus 1-2-3" 86:The most popular EUD tool is the 79:, trigger-action programming and 2354:Partitioned global address space 1271:ACM Trans. Comput.-Hum. Interact 351:in the form of visual languages. 286:specified by the end user or by 1539: 1498: 1457: 1430: 1387: 1346: 1305: 1262: 1215: 1176: 1133: 1090: 1060: 1029: 910: 869: 854: 841: 826: 816: 762: 745: 734: 722: 275:application definition software 741:Low-code development platforms 711: 691: 671: 656: 594: 581: 540: 514:Low-code development platforms 327:Scratch (programming language) 290:, like those available in the 103:Low-code development platforms 1: 1702:The End User Development book 1009:Haynes, John L. (Fall 1985). 638:Hornsby, Peter (2009-08-03). 534: 455:end-user software engineering 147: 105:are also an approach to EUD. 1881:Uniform Function Call Syntax 1648:10.1007/978-3-642-21530-8_16 1160:10.1007/978-3-662-03035-6_23 519:Natural language programming 435: 229:Interaction scripts used in 172:programming by demonstration 121:commercial software products 65:natural language programming 7: 2349:Parallel programming models 2323:Concurrent constraint logic 1636:Kierkegaard, Patrick (2011) 1117:10.1007/978-3-642-00427-8_3 679:Spreadsheet accuracy theory 497: 218:Example-Centric Programming 192: 10: 2606: 2590:Human–computer interaction 2442:Metalinguistic abstraction 2309:Automatic mutual exclusion 978:10.1109/VLHCC.2014.6883022 273:Simulations created using 264:office productivity suites 256:Scientific models used in 61:human-computer interaction 49:Bureau of Labor Statistics 2497: 2382: 2314:Choreographic programming 2284: 2100: 2042: 1999: 1902: 1893: 1833: 1775: 1766: 1591:Lieberman, Henry (2001). 626:. Interaction-Design.org. 310:electronic circuit design 176:programming with examples 2364:Relativistic programming 1199:10.1007/1-4020-5386-x_19 1515:10.1145/1370847.1370848 1483:10.1145/1017816.1017817 1408:10.1145/1015864.1015884 1363:10.1145/3025171.3025176 1322:10.1145/1357054.1357323 1238:10.1007/1-4020-5386-x_1 1084:10.1145/1082983.1083241 927:10.1145/3290605.3300675 886:10.1145/2212776.2212421 794:10.1145/1922649.1922658 758:10.1007/1-4020-5386-X_1 524:Situational application 241:Process models used in 2374:Structured concurrency 1759:Comparison by language 1570:Cypher, Allen (1993). 468:separation of concerns 447: 167: 159: 133:enterprise application 95:programming by example 81:programming by example 2339:Multitier programming 2155:Interface description 1755:Programming paradigms 1283:10.1145/344949.345004 1042:. Icsoc'10. pp.  557:10.1109/VLHCC.2005.34 504:Automatic programming 472:requirements analysis 442: 365:Cost-benefit modeling 268:graphics applications 243:workflow applications 163: 154: 2575:Computer programming 1640:End-User Development 1631:End-User Development 1225:End User Development 1186:End User Development 1099:End-User Development 623:End-User Development 618:Burnett, Margaret M. 551:. pp. 207–214. 529:Software engineering 280:Simultaneous editing 117:software life cycles 55:within the field of 45:programming language 25:end-user programming 17:End-user development 2479:Self-modifying code 2087:Probabilistic logic 2018:Functional reactive 1973:Expression-oriented 1927:Partial application 1621:10.1155/2013/532659 1611:F. Paternò (2013) 1470:ACM SIGMIS Database 1068:Sutcliffe, Alistair 288:direct manipulation 258:computer simulation 208:Configuration files 73:scripting languages 63:. Examples include 2392:Attribute-oriented 2165:List comprehension 2110:Algebraic modeling 1923:Anonymous function 1815:Design by contract 1785:Jackson structures 1712:2016-03-03 at the 1451:10.1109/MS.2004.13 1017:. pp. 143–156 962:. pp. 53–56. 704:2011-09-12 at the 684:2018-08-18 at the 509:End-user computing 488:software framework 315:Visual programming 224:Game modifications 180:visual programming 77:visual programming 41:software artifacts 2580:Software features 2562: 2561: 2452:Program synthesis 2344:Organic computing 2280: 2279: 2185:Non-English-based 2160:Language-oriented 1938:Purely functional 1889: 1888: 1657:978-3-642-21529-2 1604:978-1-55860-688-3 1583:978-0-262-03213-1 1169:978-3-642-08189-7 1126:978-3-642-00425-4 987:978-1-4799-4035-6 921:. pp. 1–13. 778:(3): 21:1–21:44. 566:978-0-7695-2443-6 480:business analysts 292:Lapis text editor 131:developments and 37:program computers 2597: 2464:by demonstration 2369:Service-oriented 2359:Process-oriented 2334:Macroprogramming 2319:Concurrent logic 2190:Page description 2180:Natural language 2150:Grammar-oriented 2077:Nondeterministic 2066:Constraint logic 1968:Point-free style 1963:Functional logic 1900: 1899: 1871:Immutable object 1790:Block-structured 1773: 1772: 1748: 1741: 1734: 1725: 1724: 1681: 1675: 1671: 1669: 1661: 1608: 1587: 1558: 1557: 1555: 1554: 1543: 1537: 1536: 1502: 1496: 1495: 1485: 1461: 1455: 1454: 1434: 1428: 1427: 1391: 1385: 1384: 1350: 1344: 1343: 1309: 1303: 1302: 1266: 1260: 1259: 1219: 1213: 1212: 1180: 1174: 1173: 1153: 1137: 1131: 1130: 1110: 1094: 1088: 1087: 1064: 1058: 1057: 1033: 1027: 1026: 1024: 1022: 1006: 1000: 999: 971: 955: 949: 948: 914: 908: 907: 873: 867: 860:Gerhard Fischer 858: 852: 845: 839: 830: 824: 820: 814: 813: 787: 772:ACM Comput. Surv 766: 760: 749: 743: 738: 732: 726: 720: 715: 709: 695: 689: 675: 669: 668: 667:. pp. 1–10. 660: 654: 653: 651: 650: 635: 629: 627: 614: 605: 598: 592: 585: 579: 578: 544: 306:machine learning 231:CRM call centres 57:computer science 2605: 2604: 2600: 2599: 2598: 2596: 2595: 2594: 2585:Software design 2565: 2564: 2563: 2558: 2500: 2493: 2384:Metaprogramming 2378: 2294: 2289: 2276: 2258:Graph rewriting 2096: 2072:Inductive logic 2052:Abductive logic 2038: 1995: 1958:Dependent types 1906: 1885: 1857:Prototype-based 1837: 1835:Object-oriented 1829: 1825:Nested function 1820:Invariant-based 1762: 1752: 1714:Wayback Machine 1688: 1673: 1672: 1663: 1662: 1658: 1605: 1584: 1566: 1564:Further reading 1561: 1552: 1550: 1545: 1544: 1540: 1525: 1503: 1499: 1462: 1458: 1435: 1431: 1392: 1388: 1373: 1351: 1347: 1332: 1310: 1306: 1267: 1263: 1248: 1220: 1216: 1209: 1181: 1177: 1170: 1151:10.1.1.310.8814 1138: 1134: 1127: 1108:10.1.1.598.9066 1095: 1091: 1065: 1061: 1054: 1034: 1030: 1020: 1018: 1007: 1003: 988: 969:10.1.1.695.2025 956: 952: 937: 936:978-145035970-2 915: 911: 896: 874: 870: 859: 855: 846: 842: 831: 827: 821: 817: 785:10.1.1.159.8597 767: 763: 750: 746: 739: 735: 727: 723: 716: 712: 706:Wayback Machine 696: 692: 686:Wayback Machine 676: 672: 661: 657: 648: 646: 636: 632: 615: 608: 599: 595: 586: 582: 567: 545: 541: 537: 500: 438: 414: 367: 331:LEGO Mindstorms 253:Robot behaviour 195: 150: 141: 12: 11: 5: 2603: 2593: 2592: 2587: 2582: 2577: 2560: 2559: 2557: 2556: 2551: 2546: 2541: 2536: 2531: 2526: 2521: 2516: 2511: 2505: 2503: 2495: 2494: 2492: 2491: 2486: 2481: 2476: 2471: 2449: 2444: 2439: 2429: 2424: 2419: 2414: 2409: 2404: 2394: 2388: 2386: 2380: 2379: 2377: 2376: 2371: 2366: 2361: 2356: 2351: 2346: 2341: 2336: 2331: 2326: 2316: 2311: 2306: 2300: 2298: 2282: 2281: 2278: 2277: 2275: 2274: 2269: 2254:Transformation 2251: 2246: 2241: 2236: 2231: 2226: 2221: 2216: 2211: 2206: 2201: 2192: 2187: 2182: 2177: 2172: 2167: 2162: 2157: 2152: 2147: 2142: 2140:Differentiable 2137: 2127: 2120:Automata-based 2117: 2112: 2106: 2104: 2098: 2097: 2095: 2094: 2089: 2084: 2079: 2074: 2069: 2059: 2054: 2048: 2046: 2040: 2039: 2037: 2036: 2031: 2026: 2021: 2011: 2005: 2003: 1997: 1996: 1994: 1993: 1987:Function-level 1984: 1975: 1970: 1965: 1960: 1955: 1950: 1945: 1940: 1935: 1930: 1920: 1914: 1912: 1897: 1891: 1890: 1887: 1886: 1884: 1883: 1878: 1873: 1868: 1863: 1849: 1847: 1831: 1830: 1828: 1827: 1822: 1817: 1812: 1807: 1802: 1800:Non-structured 1797: 1792: 1787: 1781: 1779: 1770: 1764: 1763: 1751: 1750: 1743: 1736: 1728: 1722: 1721: 1716: 1704: 1699: 1694: 1687: 1686:External links 1684: 1683: 1682: 1674:|journal= 1656: 1634: 1627: 1624: 1609: 1603: 1588: 1582: 1565: 1562: 1560: 1559: 1538: 1523: 1497: 1456: 1429: 1386: 1371: 1345: 1330: 1304: 1261: 1246: 1214: 1207: 1175: 1168: 1132: 1125: 1089: 1059: 1052: 1028: 1001: 986: 950: 935: 909: 894: 868: 853: 840: 825: 815: 761: 744: 733: 721: 710: 690: 670: 655: 630: 606: 593: 580: 565: 538: 536: 533: 532: 531: 526: 521: 516: 511: 506: 499: 496: 492:vendor lock-in 437: 434: 413: 410: 409: 408: 405: 402: 399: 391: 390: 387: 384: 381: 366: 363: 362: 361: 352: 346: 340: 334: 312: 299: 277: 271: 260: 254: 251: 245: 239: 233: 227: 221: 215: 205: 194: 191: 149: 146: 140: 137: 53:research topic 9: 6: 4: 3: 2: 2602: 2591: 2588: 2586: 2583: 2581: 2578: 2576: 2573: 2572: 2570: 2555: 2552: 2550: 2547: 2545: 2542: 2540: 2537: 2535: 2532: 2530: 2527: 2525: 2524:Data-oriented 2522: 2520: 2517: 2515: 2512: 2510: 2507: 2506: 2504: 2502: 2496: 2490: 2487: 2485: 2482: 2480: 2477: 2475: 2472: 2469: 2465: 2461: 2457: 2453: 2450: 2448: 2445: 2443: 2440: 2437: 2433: 2430: 2428: 2425: 2423: 2422:Homoiconicity 2420: 2418: 2415: 2413: 2410: 2408: 2405: 2402: 2398: 2395: 2393: 2390: 2389: 2387: 2385: 2381: 2375: 2372: 2370: 2367: 2365: 2362: 2360: 2357: 2355: 2352: 2350: 2347: 2345: 2342: 2340: 2337: 2335: 2332: 2330: 2329:Concurrent OO 2327: 2324: 2320: 2317: 2315: 2312: 2310: 2307: 2305: 2302: 2301: 2299: 2297: 2292: 2287: 2283: 2273: 2270: 2267: 2263: 2259: 2255: 2252: 2250: 2247: 2245: 2242: 2240: 2237: 2235: 2232: 2230: 2227: 2225: 2224:Set-theoretic 2222: 2220: 2217: 2215: 2212: 2210: 2207: 2205: 2204:Probabilistic 2202: 2200: 2196: 2193: 2191: 2188: 2186: 2183: 2181: 2178: 2176: 2173: 2171: 2168: 2166: 2163: 2161: 2158: 2156: 2153: 2151: 2148: 2146: 2143: 2141: 2138: 2135: 2131: 2128: 2125: 2121: 2118: 2116: 2113: 2111: 2108: 2107: 2105: 2103: 2099: 2093: 2090: 2088: 2085: 2083: 2080: 2078: 2075: 2073: 2070: 2067: 2063: 2060: 2058: 2055: 2053: 2050: 2049: 2047: 2045: 2041: 2035: 2032: 2030: 2027: 2025: 2022: 2019: 2015: 2012: 2010: 2007: 2006: 2004: 2002: 1998: 1992: 1988: 1985: 1983: 1982:Concatenative 1979: 1976: 1974: 1971: 1969: 1966: 1964: 1961: 1959: 1956: 1954: 1951: 1949: 1946: 1944: 1941: 1939: 1936: 1934: 1931: 1928: 1924: 1921: 1919: 1916: 1915: 1913: 1910: 1905: 1901: 1898: 1896: 1892: 1882: 1879: 1877: 1874: 1872: 1869: 1867: 1864: 1862: 1858: 1854: 1851: 1850: 1848: 1845: 1841: 1836: 1832: 1826: 1823: 1821: 1818: 1816: 1813: 1811: 1808: 1806: 1803: 1801: 1798: 1796: 1793: 1791: 1788: 1786: 1783: 1782: 1780: 1778: 1774: 1771: 1769: 1765: 1760: 1756: 1749: 1744: 1742: 1737: 1735: 1730: 1729: 1726: 1720: 1717: 1715: 1711: 1708: 1705: 1703: 1700: 1698: 1695: 1693: 1690: 1689: 1679: 1667: 1659: 1653: 1649: 1645: 1641: 1635: 1632: 1628: 1625: 1622: 1618: 1614: 1610: 1606: 1600: 1596: 1595: 1589: 1585: 1579: 1575: 1574: 1568: 1567: 1548: 1542: 1534: 1530: 1526: 1524:9781605580340 1520: 1516: 1512: 1508: 1501: 1493: 1489: 1484: 1479: 1475: 1471: 1467: 1460: 1452: 1448: 1444: 1440: 1439:IEEE Software 1433: 1425: 1421: 1417: 1413: 1409: 1405: 1401: 1397: 1390: 1382: 1378: 1374: 1372:9781450343480 1368: 1364: 1360: 1356: 1349: 1341: 1337: 1333: 1331:9781605580111 1327: 1323: 1319: 1315: 1308: 1300: 1296: 1292: 1288: 1284: 1280: 1276: 1272: 1265: 1257: 1253: 1249: 1247:9781402042201 1243: 1239: 1235: 1231: 1227: 1226: 1218: 1210: 1208:9781402042201 1204: 1200: 1196: 1192: 1188: 1187: 1179: 1171: 1165: 1161: 1157: 1152: 1147: 1143: 1136: 1128: 1122: 1118: 1114: 1109: 1104: 1100: 1093: 1085: 1081: 1077: 1073: 1069: 1063: 1055: 1053:9783642193934 1049: 1045: 1041: 1040: 1032: 1016: 1012: 1005: 997: 993: 989: 983: 979: 975: 970: 965: 961: 954: 946: 942: 938: 932: 928: 924: 920: 913: 905: 901: 897: 895:9781450310161 891: 887: 883: 879: 872: 865: 864: 857: 850: 844: 837: 836: 829: 819: 811: 807: 803: 799: 795: 791: 786: 781: 777: 773: 765: 759: 755: 748: 742: 737: 731: 725: 719: 714: 707: 703: 700: 694: 687: 683: 680: 674: 666: 659: 645: 641: 634: 625: 624: 619: 613: 611: 603: 597: 590: 584: 576: 572: 568: 562: 558: 554: 550: 543: 539: 530: 527: 525: 522: 520: 517: 515: 512: 510: 507: 505: 502: 501: 495: 493: 489: 485: 481: 477: 473: 469: 464: 459: 456: 451: 446: 441: 433: 429: 425: 421: 417: 406: 403: 400: 397: 396: 395: 388: 385: 382: 379: 378: 377: 374: 372: 369:According to 360: 356: 353: 350: 347: 344: 341: 338: 335: 332: 328: 324: 320: 316: 313: 311: 307: 303: 300: 297: 293: 289: 285: 284:batch process 281: 278: 276: 272: 269: 265: 261: 259: 255: 252: 249: 246: 244: 240: 238: 234: 232: 228: 225: 222: 219: 216: 213: 212:email filters 209: 206: 203: 200: 199: 198: 190: 189: 185: 181: 177: 173: 166: 162: 158: 153: 145: 136: 135:deployments. 134: 130: 126: 122: 118: 113: 110: 106: 104: 100: 96: 91: 89: 84: 82: 78: 74: 70: 66: 62: 58: 54: 50: 46: 42: 38: 34: 30: 26: 22: 18: 2529:Event-driven 2144: 1933:Higher-order 1861:Object-based 1639: 1593: 1572: 1551:. Retrieved 1541: 1506: 1500: 1473: 1469: 1459: 1442: 1438: 1432: 1402:(9): 33–37. 1399: 1395: 1389: 1354: 1348: 1313: 1307: 1277:(1): 59–83. 1274: 1270: 1264: 1224: 1217: 1185: 1178: 1141: 1135: 1098: 1092: 1075: 1071: 1062: 1038: 1031: 1019:. Retrieved 1014: 1004: 959: 953: 918: 912: 877: 871: 861: 856: 843: 833: 828: 818: 775: 771: 764: 747: 736: 724: 713: 693: 673: 664: 658: 647:. Retrieved 643: 633: 622: 596: 583: 548: 542: 460: 454: 452: 448: 443: 439: 430: 426: 422: 418: 415: 392: 375: 368: 237:App Inventor 196: 188: 168: 164: 160: 155: 151: 142: 114: 111: 107: 98: 92: 85: 69:spreadsheets 40: 28: 24: 20: 16: 15: 2539:Intentional 2519:Data-driven 2501:of concerns 2460:Inferential 2447:Multi-stage 2427:Interactive 2304:Actor-based 2291:distributed 2234:Stack-based 2034:Synchronous 1991:Value-level 1978:Applicative 1895:Declarative 1853:Class-based 1476:(4): 7–17. 1396:Commun. ACM 484:application 476:prototyping 463:declarative 349:Web Mashups 319:AgentSheets 302:Spreadsheet 123:, in-house 88:spreadsheet 2569:Categories 2514:Components 2499:Separation 2474:Reflective 2468:by example 2412:Extensible 2286:Concurrent 2262:Production 2249:Templating 2229:Simulation 2214:Scientific 2134:Spacecraft 2062:Constraint 2057:Answer set 2009:Flow-based 1909:comparison 1904:Functional 1876:Persistent 1840:comparison 1805:Procedural 1777:Structured 1768:Imperative 1553:2008-05-28 1078:(4): 1–4. 649:2014-01-31 535:References 296:multi edit 248:Prototypes 148:Definition 2401:Inductive 2397:Automatic 2219:Scripting 1918:Recursive 1676:ignored ( 1666:cite book 1416:0001-0782 1291:1073-0516 1146:CiteSeerX 1103:CiteSeerX 964:CiteSeerX 945:140220651 802:0360-0300 780:CiteSeerX 644:UXmatters 436:Criticism 371:Sutcliffe 355:3D models 337:Web pages 202:Animation 157:artifact. 33:end-users 2554:Subjects 2544:Literate 2534:Features 2489:Template 2484:Symbolic 2456:Bayesian 2436:Hygienic 2296:parallel 2175:Modeling 2170:Low-code 2145:End-user 2082:Ontology 2014:Reactive 2001:Dataflow 1710:Archived 1533:17479074 1492:18183262 1445:(4): 5. 1424:11675776 1381:16596496 1256:15559793 1021:19 March 996:14845341 904:17748945 702:Archived 682:Archived 575:14608501 498:See also 359:Sketchup 193:Examples 129:extranet 125:intranet 2509:Aspects 2417:Generic 2407:Dynamic 2266:Pattern 2244:Tactile 2209:Quantum 2199:filters 2130:Command 2029:Streams 2024:Signals 1795:Modular 1340:5989563 1299:5943805 1191:427–457 1044:144–155 810:9435548 323:LabVIEW 2272:Visual 2239:System 2124:Action 1948:Strict 1654:  1623:, 2013 1601:  1580:  1531:  1521:  1490:  1422:  1414:  1379:  1369:  1338:  1328:  1297:  1289:  1254:  1244:  1205:  1166:  1148:  1123:  1105:  1050:  994:  984:  966:  943:  933:  902:  892:  808:  800:  782:  573:  563:  2549:Roles 2432:Macro 2195:Pipes 2115:Array 2092:Query 2044:Logic 1953:GADTs 1943:Total 1866:Agent 1529:S2CID 1488:S2CID 1420:S2CID 1377:S2CID 1336:S2CID 1295:S2CID 1252:S2CID 992:S2CID 941:S2CID 900:S2CID 823:1998. 806:S2CID 730:2017. 571:S2CID 343:Wikis 308:, or 220:tools 184:macro 182:, or 23:) or 2197:and 1844:list 1678:help 1652:ISBN 1599:ISBN 1578:ISBN 1519:ISBN 1412:ISSN 1367:ISBN 1326:ISBN 1287:ISSN 1242:ISBN 1203:ISBN 1164:ISBN 1121:ISBN 1048:ISBN 1023:2016 1015:BYTE 982:ISBN 931:ISBN 890:ISBN 798:ISSN 561:ISBN 474:and 294:and 266:and 119:for 93:The 59:and 2102:DSL 1644:doi 1617:doi 1511:doi 1478:doi 1447:doi 1404:doi 1359:doi 1318:doi 1279:doi 1234:doi 1230:1–8 1195:doi 1156:doi 1113:doi 1080:doi 974:doi 923:doi 882:doi 790:doi 754:doi 553:doi 486:or 329:or 99:PbE 29:EUP 21:EUD 2571:: 2466:, 2462:, 2458:, 2264:, 2260:, 1989:, 1980:, 1859:, 1855:, 1842:, 1670:: 1668:}} 1664:{{ 1650:. 1527:. 1517:. 1486:. 1474:18 1472:. 1468:. 1443:21 1441:. 1418:. 1410:. 1400:47 1398:. 1375:. 1365:. 1334:. 1324:. 1293:. 1285:. 1273:. 1250:. 1240:. 1232:. 1201:. 1193:. 1162:. 1154:. 1119:. 1111:. 1076:30 1074:. 1046:. 1013:. 990:. 980:. 972:. 939:. 929:. 898:. 888:. 804:. 796:. 788:. 776:43 774:. 642:. 609:^ 569:. 559:. 494:. 325:, 321:, 178:, 174:, 83:. 71:, 67:, 2470:) 2454:( 2438:) 2434:( 2403:) 2399:( 2325:) 2321:( 2293:, 2288:, 2268:) 2256:( 2136:) 2132:( 2126:) 2122:( 2068:) 2064:( 2020:) 2016:( 1929:) 1925:( 1911:) 1907:( 1846:) 1838:( 1761:) 1757:( 1747:e 1740:t 1733:v 1680:) 1660:. 1646:: 1619:: 1607:. 1586:. 1556:. 1535:. 1513:: 1494:. 1480:: 1453:. 1449:: 1426:. 1406:: 1383:. 1361:: 1342:. 1320:: 1301:. 1281:: 1275:7 1258:. 1236:: 1211:. 1197:: 1172:. 1158:: 1129:. 1115:: 1086:. 1082:: 1056:. 1025:. 998:. 976:: 947:. 925:: 906:. 884:: 812:. 792:: 756:: 652:. 577:. 555:: 333:. 298:. 270:. 127:/ 97:( 27:( 19:(

Index

end-users
program computers
programming language
Bureau of Labor Statistics
research topic
computer science
human-computer interaction
natural language programming
spreadsheets
scripting languages
visual programming
programming by example
spreadsheet
programming by example
Low-code development platforms
software life cycles
commercial software products
intranet
extranet
enterprise application
programming by demonstration
programming with examples
visual programming
macro
Animation
Configuration files
email filters
Example-Centric Programming
Game modifications
CRM call centres

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

↑