Nach oben


Stefan Schiffer
+43 (699) 12547249




Visual Programming
Foundations and Applications

Stefan Schiffer
Visuelle Programmierung - Grundlagen und Einsatzmöglichkeiten
Addison-Wesley-Longman 1998, ISBN 3-8273-1271-X

This book is available in German language only. It is accompanied by a CD-ROM which includes the whole book as an HTML-document, links to sources on the Internet, animations of the examples given in the book and a selection of  visual programming systems for Windows and MacOS.


Visual programming refers to software development where graphical notations and interactively manipulable software components are primarily used to define and compose programs. The goal of visual programming is to enhance the comprehensibility of programs and to simplify programming itself. Furthermore, visual programming should empower end users to build their own programs that otherwise would have to be written by professional programmers.

This book focuses on three issues: the foundations of visual programming, the potential and limits of visual programming, and component-based software development with Vista, a visual programming system, developed by the author.

The foundations of visual programming. This part includes a thorough discussion of the terms of visual programming and defines a homogenous terminology that was previously lacking. The concepts of visual programming are explained by means of nine language paradigms and supplemented by examples of visual programming systems. An overview of taxonomies shows several aspects by which visual languages and programming systems may be classified.

The potential and limits of visual programming. On the basis of five theses concerning the role of pictures in the process of programming, the argumentation shows, that visual elements do not always ease programming or lead to more comprehensible programs; quite the contrary they can make software development more difficult. The arguments are based on literature (including findings of cognitive psychology) as well as experience and observations gathered during programming projects.

Component-based programming with Vista. This part describes the author’s multiparadigm visual programming system Vista, which supports the implementation of reactive and transformational systems. After a short introduction to reactive and transformational systems and several aspects of component-based software development, this chapter explains the programming model of Vista, which combines object oriented programming with signal-flow and data-flow models. The concepts of Vista where developed with software engineering principles in mind and could be of particular interest for readers, who want to build their own visual programming system.