End-User Programming

End-User Programming

End user development (EUD) (dt. etwa Endbenutzer-Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen Bedürfnissen anzupassen. Ein typisches Beispiel für EUD ist Makroprogrammierung in Bürosoftware wie Textverarbeitung, Tabellenkalkulation und so weiter.

Inhaltsverzeichnis

Teilgebiete

Je nach Problemstellung und Zielgruppe werden verschiedene Ansätze angewendet, um Endbenutzern die Programmierung zu ermöglichen.

Bei den Grafischen Programmiersprachen entwickelt der Benutzer Programme nicht wie bei den üblichen Programmiersprachen durch die Eingabe eines Textes, sondern er setzt visuelle Elemente zusammen, etwa Blöcke und diese verbindende Linien. Durch diese Darstellung soll der „Quelltext“ leichter zu verstehen sein und somit auch durch Endbenutzer verändert werden können.

Domänenspezifische Sprachen werden nicht wie universell einsetzbare Programmiersprachen auf alle Probleme angewendet, sondern nur auf bestimmte Anwendungsdomänen, zum Beispiel SQL für Datenbankabfragen. Kenner der Domäne müssen daher keine universelle und somit auch komplexe Programmiersprache lernen, sondern können sich auf die für ihre Anwendungsdomäne relevanten Teile beschränken. Die beiden beschriebenen Ansätze können kombiniert werden, so dass es auch Grafische Domänenspezifische Sprachen gibt.

Auch universelle Programmiersprachen sind unterschiedlich schnell zu erlernen, so dass sich bestimmte universelle Programmiersprachen besser für Endbenutzer eignen. Die Entwicklung leicht zu erlernender Sprachen wie Python erlauben auch Endbenutzern einen einfachen Zugang zum Programmieren. Deutlich weiter geht der Ansatz, natürliche Sprache im Sinne einer Programmiersprache zu verwenden. So gibt es Ansätze, bei denen durch Eingabe englischer Sätze interaktiv ein Python-Programm erzeugt wird[1]. Umgekehrt kann das Python-Programm auch in englischer Sprache ausgegeben werden.

Endbenutzer können auch klassische universelle Programmiersprachen wie C verwenden. Ein Endbenutzer braucht hierfür allerdings gute Lehrbücher oder Beispielprogramme, da diese Programmiersprachen mehr Lernaufwand erfordern. Entwicklungsumgebungen für Anfänger unterstützen den Endbenutzer beim Lernen und Programmieren mit erklärenden Hinweisen.

Beim Programming By Example demonstriert der Benutzer eine häufig auszuführende Handlung einige Male. Die Software abstrahiert mit Techniken der Künstlichen Intelligenz auf ein generelles Muster und kann die gezeigte Handlung danach wiederholen und gegebenenfalls sogar auf andere Anwendungsgebiete übertragen. Ein einfaches Beispiel wäre die Aufzeichnung einer Tastenfolge, die später wieder abgerufen werden kann. Es ist allerdings umstritten, ob Programming By Example überhaupt als Programmieren gewertet werden kann, da kein Quelltext analysiert und nicht debuggt werden kann[2]. Durch die Kombination mit Grafischen Programmiersprachen wird versucht, diesen Mangel zu beheben.

Literatur

  • H. Lieberman, F. Paterno, V. Wulf (Hrsg.): 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, 2. print 1995, ISBN 0-262-14053-5.

Weblinks

Einzelnachweise

  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, S. 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, S. 84

Wikimedia Foundation.

Игры ⚽ Нужен реферат?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • End User Programming — End user development (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen… …   Deutsch Wikipedia

  • End-user development — (EUD) is a research topic within the field of computer science, describing activities or techniques that allow people who are not professional developers to create or modify a software artifact. A typical example of EUD is programming to extend… …   Wikipedia

  • End User Development — (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen Bedürfnissen anzupassen.… …   Deutsch Wikipedia

  • End-User Development — (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen Bedürfnissen anzupassen.… …   Deutsch Wikipedia

  • End-User Software Engineering — End user development (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen… …   Deutsch Wikipedia

  • End User Software Engineering — End user development (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen… …   Deutsch Wikipedia

  • End-user computing — (EUC) is a group of approaches to computing that aim at better integrating end users into the computing environment or that attempt to realize the potential for high end computing to perform in a trustworthy manner in problem solving of the… …   Wikipedia

  • User (computing) — Username redirects here. For the same term in Wikipedia, see Wikipedia:Username End user (computer science) redirects here. For other uses, see End user (disambiguation). A user is an agent, either a human agent (end user) or software agent, who… …   Wikipedia

  • User interface — The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation …   Wikipedia

  • Euphoria (programming language) — Euphoria openEuphoria logo Paradigm(s) Imperative, procedural Appeared in 1993 Designed by Jeremy Cowgar, Robert Craig (original), Matt Lewis, Derek Parnell …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”