In 1957 the first municipal computer was installed, marking the start of public computing. At that time computers cost millions, and programmers in comparison were almost free. The first programming languages, FORTRAN, Algol, Cobol, LISP, were designed at that time, with that economic relationship in mind: it didn’t matter how long ittook to program, as long as the program didn’t waste computer time. In fact some people thought that programming languages were already a waste, since they used precious computer time to compile. So programs were all expressed in the computer’s terms, telling it step-by-step what to do, and not expressed in the programmer’s terms.
It happened slowly, but now the economic relationship is entirely reversed: programmers are expensive, and computers relatively almost free. And yet we are still programming them in languages that are directly descended from languages that assume the opposite.
Does that mean we are doing it wrong? And if so, what are the alternatives?
