End User Development

End user development ( EUD ) (Eng. about End-User Development) is a research area within computer science. It deals with the question of how it can be made possible for the end user of software, to extend, and adapt to his needs. Typical examples of EUD are macro programming in Office software, such as word processing and spreadsheets.

Subregions

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

In the Graphical programming languages ​​the user is not developed programs as in the conventional programming languages ​​by entering a text, but he puts together visual elements, such as blocks and connecting these lines. This representation is the " source " be easier to understand and thus can also be changed by end users.

Domain-specific languages ​​are not used as general-purpose programming languages ​​to all problems, but only on specific application domains, such as SQL database queries. Knowledge of the domain must therefore learn not universal and therefore complex programming language, but can be limited to the relevant application domain for their parts. The two approaches described above may be combined so that there are also graphical domain specific languages.

Also universal programming languages ​​are different to learn quickly so that certain universal programming languages ​​are better suited for end users. The development of easy -to-learn languages ​​like Python also allow end users to gain easy access to the programming. Clearly, the approach continues to use natural language in terms of a programming language. Thus, there are approaches which interactively a Python program is generated by input English sentences. Conversely, the Python program will be issued in English.

End users can also use classic universal programming languages ​​such as C. An end-user needs for this purpose, however good instructional books or sample programs, as these languages ​​require more learning effort. Development environments for beginners assist the end user in learning and programming with explanatory notes.

When Programming By Example, the user demonstrates a common action to be performed several times. The software abstraction with techniques of artificial intelligence to a general pattern and can repeat the action shown afterwards and possibly even transferred to other application areas. A simple example would be the recording of a sequence of keys that can be recalled later. However, it is disputed whether Programming By Example can ever be regarded as programming, because there is no source code analysis and can not be debugged. By combining with the graphical programming is an attempt to remedy this deficiency.

307927
de