Where did modern languages come from? How did they evolve?
For many, they believe Fortran was the first language, but it did not evolve out of the ether.
Heinz Rutishauser, in his manuscript Description of ALGOL 60 (Springer Verlag, 1967) made the following statement which sums up the early years of programming machines, before the advent of programming languages as we know them today.
In the early days of automatic computing, programming was considered some kind of art, since, indeed, special skill was required to describe the entire computation in advance in a rather queer notation. With the advent of fast computers, however, the need for writing a program for every problem very soon became a nightmare and left no room for artistic feelings.
It was very likely that the inherent increase in program complexity and size made writing them by hand in machine code perplexing. Was there a notation somewhere between machine code, and the mathematical notation used to represent what was to be done? The answer was yes, and it was in the form of automatic programming. This was started by M.V.Wilkes (UK), and G.Hopper (USA), around 1950. These automatic programming systems were classified into three different forms:
- External machine code – instructions appear as a mnemonic operation symbol, and a decimal address.
- Assembly languages – operation symbols, use of algebraic symbols to represent operand addresses, and jump destinations.
- Algorithmic languages – standard mathematical notation for describing arithmetic operations, and dynamic elements for describing the flow of a computation.
The usability of each of these methods was reduced by how easy it was to translate them to machine code. External machine code was simple, assembly languages required the allocation of addresses which complicated matters, and algorithmic languages were extremely complicated.