Programming with visual objects and relations

One such attempt was described by Rogers [17]. Rogers describes his motivation as wanting to create an intuitive, powerful, visual programming language. He describes four groups that previous programming languages fell into: those tailored to a specific application, those that provide unrealistically simple models of computing, those that merely add visual interfaces to existing languages, and those that rely exclusively on programming by example. He believed that all of these had major deficiencies, and therefore suggested the need for a completely new programming language, written from scratch. The new language would conform to the expectations of computer programmers who want a powerful, general purpose language; but it would be designed around visual concepts.

Rogers felt that programming centred around the modification of data structures. Therefore, his main visual representation shows the data structures themselves, rather than the operations on them. Two constructs are displayed. Firstly, there are objects (the program is strongly influenced by object-oriented methodology), which represent specific data types that respond to particular ``messages'' by performing a ``method'' (subroutine). Secondly, there are relations between these objects that represent such concepts as A is a Neighbour of B , etc. These constructs provide a visual representation of the data structures involved (see Figure 2.4). In order to specify the subroutines that are used, a separate ``Method editor'' is used, which uses a visual syntax; but this tends to revert to the usual line-by-line format of traditional programming languages.

Figure 2.4: A Graphical representation of objects and relations
\begin{figure}\centerline{\psfig{figure=objrel.ps,width=13cm}}
\end{figure}

Matthew Exon 2004-05-28