<<>>UpTitleContents

6.3.1.


Introduction

In this chapter we will discuss the major issues that are involved in choosing the tools that are required to write CBL software. There are a huge number of authoring systems and programming languages available, all of which have many merits and drawbacks for different purposes. It would be beyond the scope of this report to attempt to review a significant number of these, and probably this would not be very useful in any case because of the diverse ways in which they can be used. Rather we will discuss the types of development tools that are available, giving examples that are commonly used in the development of academic CBL. We shall also attempt to provide some guidance for what to look for when choosing authoring tools.

We must first however consider what we mean by the terms authoring system and programming language. In the early days of computers all software development required that the programmers had an intimate technical knowledge of the hardware. It has been a major goal of the software industry ever since its inception to make the development of applications more accessible to "non specialists". High level programming languages - ie third generation languages (3GL) - were originally created in order to insulate developers from the extensive knowledge of the system that is required in order to write useful programs in machine code.

Today there are many such languages available (for example C, Pascal and BASIC are among the most common) and the majority of software is written using these. However these languages are complex and programming with them has become a skilful discipline in its own right. In recent years a number of programming languages have been devised that are intended to remove developers still further from the inner workings of their machines.

These are the so called fourth generation languages (4GL). The ideal of a 4GL is that all that should be required in order to develop an application is a detailed description of that application, and the author then does not need to know how it works. To some extent this is still science fiction and most 4GL's are experimental, however elements of this approach have been incorporated into a number of commercial products. In particular the growth of the CBT industry has fuelled a demand for development tools that are easier to use than conventional programming languages.

There are now many of these so called "authoring systems" varying immensely in their style and functionality. These range from simple presentation packages, which contain some degree of programmability, up to full blown programming languages that are sophisticated implementations of the 4GL philosophy.


<<>>UpTitleContents