In the forty years that the modern electronic computer has existed it has gone through several phases. The third generation computer of today is far removed in sophistication from the early first generation machines. In just the same way as the hardware of these machines has changed or been enhanced through the years, so has the associated software on them. The early computers required the programmer to use machine language or even set switches on the machine, while today the programmer can often use one of several high level programming languages. Whereas the early machines were used mainly for number crunching, the computer of today is asked to perform a multitude of tasks. To cater for these wide and varied applications the programmin...