End user development

from Wikipedia, the free encyclopedia

End User Development (EUD) (dt. About end-user development ) is a research area in computer science . It deals with the question of how the end user of a software can be enabled to expand it and adapt it to his needs. Typical examples of EUD are macro programming in office software such as word processing and spreadsheets .

Sub-areas

Depending on the problem and target group, different approaches are used to enable end users to program.

With the graphic programming languages , the user does not develop programs by entering a text, as is the case with the usual programming languages , but he puts together visual elements such as blocks and connecting lines. This representation is intended to make the "source text" easier to understand and therefore also to be able to be changed by end users.

Domain-specific languages are not applied to all problems like universally applicable programming languages , but only to certain application domains, for example SQL for database queries. Those familiar with the domain therefore do not have to learn a universal and therefore complex programming language, but can limit themselves to the parts that are relevant to their application domain. The two approaches described can be combined so that there are also graphic domain-specific languages.

Universal programming languages ​​are also learned at different speeds, so certain universal programming languages ​​are more suitable for end users. The development of easy-to-learn languages ​​such as Python also allow end users easy access to programming. The approach of using natural language in the sense of a programming language goes much further. There are approaches in which a Python program is generated interactively by entering English sentences. Conversely, the Python program can also be output in English.

End users can also classical universal programming languages such as C use. However, an end user needs good textbooks or sample programs to do this, as these programming languages ​​require more learning. Development environments for beginners support the end user in learning and programming with explanatory notes.

In the Programming By Example , the user demonstrates a frequently performed action a few times. The software uses artificial intelligence techniques to abstract to a general pattern and can then repeat the action shown and, if necessary, even transfer it to other areas of application. A simple example would be the recording of a key sequence that can be called up later. However, it is controversial whether Programming By Example can even be counted as programming, since no source code can be analyzed or debugged . An attempt is made to remedy this deficiency by combining it with graphic programming languages.

literature

  • H. Lieberman, F. Paterno, V. Wulf (Eds.): End-User Development . In: Human-Computer Interaction Series Vol. 9 , Springer, Dordrecht 2006, ISBN 1-4020-4220-5 .
  • Bonnie A. Nardi: A Small Matter of Programming: Perspectives on End User Computing , MIT-Press, Cambridge, 2nd print 1995, ISBN 0-262-14053-5 .

Web links

Individual evidence

  1. Hugo Liu, Henry Lieberman: Metafor: visualizing stories as code , IUI '05: Proceedings of the 10th international conference on intelligent user interfaces, ACM, New York 2005, pp. 305–307
  2. ^ Caitlin Kelleher, Randy Pausch: Lowering the barriers to programming: A taxonomy of programming environments and languages ​​for novice programmers , ACM Computing Surveys Vol. 37, 2005, p. 84