For those that find baffling the concept of object-oriented programming (people call it OOP at their peril around here), the way dance records are made these days provides a crude analogy: you take an Aretha Franklin record, a synthesised drum machine, a passage of brass, a passage of strings, sounds of commonplace occurrences such as doors slamming and breaking glass, sample them – treat them as objects – and stick a new vocal track over the top; with those basic ingredients, a producer can create 20 completely different records, which do share family characteristics, and in a similar manner, pre-written software routines can be ordered in various ways and linked together with a modicum of new code (equivalent to the vocal track) to create a variety of different applications that will have elements in common; the only worry the analogy raises is that the new record is never anywhere near as good as the original Aretha Franklin track – will the same be true of subsequent programs compared with the ones for which the objects were created?