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:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.