Every generation has to reinvent the practice of computer
programming. In the 1950s the key innovations were programming
languages such as Fortran and Lisp. The 1960s and '70s saw a
crusade to root out "spaghetti code" and replace it with
"structured programming." Since the 1980s software development
has been dominated by a methodology known as object-oriented
programming, or OOP. Now there are signs that OOP may be running
out of oomph, and discontented programmers are once again
casting about for the next big idea. It's time to look at what
might await us in the post-OOP era (apart from an unfortunate
acronym). The Tar Pit The architects of the earliest computer
systems gave little thought to software. (The very word was
still a decade in the future.) Building the machine itself was
the serious intellectual challenge; converting mathematical
formulas into program statements looked like a routine clerical
task. The awful truth came out soon enough. Maurice V. Wilkes,
who wrote what may have been the first wo