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).