ABSTRACT

Over the last 50 years the people who write the code have doggedly spent most of their time avoiding work. The development of general solutions to particular problems has led to reusable libraries of code so that no one needs to ever write a window from scratch or laboriously render the text – someone somewhere will have done this already, so just get it and use it. The whole history of computing is a slow ascent from mind-bendingly tedious machine code, where every procedure must be written anew for a new machine, to portable languages like Java, which are designed to run on an imaginary computer. The task is to squeeze out the essence of the difference into one tiny package which needs to be written for a new situation, and then to balance the heap of ready written stuff on top of it.