Visual Programming Remains A Serious Highlight

Even when Windows spreadsheets such as Excel arrived, the macros did not provide visual programming.

The breakthrough for the PC was Microsoft’s Visual Basic, which brought rapid application development (Rad) to Windows. Rad is designed to make programming simple and straightforward.

Combined with visual programming, it offers developers a way to build applications interactively.

vbactiveThe starting point is a form – basically an empty window of the program under development. The standard component parts of a Windows program, such as buttons, scroll bars and boxes to type into, are dragged from a palette onto the form, then positioned and sized.

Each component has associated properties and events. Properties describe the way a component looks and responds. When a component is selected in the development environment, a box pops up showing its properties, such as background colour, which can be changed to taste.

Events are things that can happen to the object. A typical event might be a button being clicked, or having text typed in. Each component can hold code written in the Basic programming language to respond to these events.

If a program needs changing, the components can quickly be dragged to new positions, deleted and added.

Arguably, the features that made Visual Basic a success were database support (which was added in version 3) and the ability to plug in extra components. These add-ins are essential for visual programming.

A component developer could build practically any functionality into a component, from Internet support to colour graphic handling. The visual programmer need only drop the component into his or her project to add that functionality. Visual Basic has now been added to most of Microsoft’s Office suite, and some third-party products.

Some suppliers attempted to create complete visual programming tools – where the actions that result from, for instance, pressing a button are set up by drawing a flowchart on screen.


This constructor set approach is unwieldy for anything more than trivial applications and has never had much impact.

Most recently, the approach appeared in the UK-developed Toontalk, a visual programming environment for children that involves setting up a series of robots to undertake a task.

The results are fascinating, but unlikely to shake the business world. More significant are the contributions of Smalltalk and Delphi.

Smalltalk dates from 1972 and has the advantage of being object-oriented. This makes it possible to bundle data and code into a single component, and provides the time-saving facility of taking one component, adding changes to functionality to create an entirely new one.

Smalltalk is powerful enough for Rad. IBM, for example, used Smalltalk to prototype the OS/2 desktop.

However, Smalltalk does not hide the complexities of object-oriented programming, making it impractical for end users. Although suitable for Rad, Smalltalk’s limited take-up and consequent lack of add-ins – crucial for visual development – makes it a poor choice for this arena.

Inprise’s Delphi is the strongest challenger to Visual Basic, although plenty of programmable databases come close. Delphi has similarities to Visual Basic, including support for some Visual Basic add-ins, but uses the Pascal language. Delphi has also always produced fully compiled code.

Visual Basic originally produced, partly compiled code requiring a virtual machine called the Visual Basic runtime in order to run Visual Basic applications.

Compiled code

The runtime made Visual Basic programs relatively slow, although more recently Microsoft has produced compiled code.

While a Visual Basic program is often very small, much of its application’s code is contained in the larger Visual Basic runtime file. An advantage of a single runtime file is that several programs on the same PC can share it.

While Rad tools provide a way for developers to write applications relatively quickly by using pre-built components, big leaps in programmer productivity are only possible when large, complex application building blocks can be reused.


This is achieved through object-oriented programming. Object-oriented programming provides a way for developers to customise complex pre-written application components in order to adapt the functions they provide for their own specific application requirements.

Visual Basics s move from being a rapid application development tool to an object-oriented development tool has come at a price. While Visual Basic remains the environment of choice for much Rad work, it is becoming too complex for end-users.

The new generation of easy to use development tools are based on Web technology and HTML.

A Web site is a program in its own right, with considerable functionality available from scripting languages such as Javascript.

Third party products, and new standards like XML, are increasing the ease with which data can be pulled from other sources, modified and returned.

Today Web technology is slow and limiting so it is not a serious contender to Rad development. However, the growth of end-user computing using this environment will be as phenomenal as the growth of the spreadsheet.


* There are two driving forces behind the development of visual programming tools – end-user computing and rapid application development (Rad).

* Power users wanted a way to develop their own small systems rather than rely on over-burdened IT departments resulting in end-user computing. Typical end-user applications extract a subset of data from a database, manipulate it and either return it or display it.

* The key to Rad is prototyping. Rad allows developers to put together a subset of the required functionality very quickly and enables the user to try it.

* Visual programming is ideal for Rad, as it makes it possible to build and modify prototypes extremely quickly.

* Once the users accept the prototype, it could act as a functional specification for a conventional development project. The prototype is evolved into the final product.

Leave a comment

Your comment