next up previous
Next: Acknowledgments Up: Real artificial life: The Previous: What we can do

Where we may be

Over sixty years of development, computer programs have grown from a few bytes to hundreds of megabytes, from a few lines of assembler source code to tens of millions of lines of complex programming language code. We have been living with the `software crisis'--which usually means rapidly increasing software development and maintenance time and cost, often with decreasing reliability--now for several decades, and a number of proposed solutions have come and gone.

Especially over the last fifteen years, `object-oriented programming' [Meyer, 1988,Booch, 1994, and many others] has emerged in various forms as a durable programming methodology. There are debates over technical details, and factionalism surrounding specific object-oriented programming languages, but the overall approach continues to gain design wins for more and larger projects when significant new code is needed.

From the living computation perspective, one interpretation of that history is difficult to resist. In coarsest outline the arc of software development paralleling the evolution of living architectures: From early proteins and autocatalytic sets amounting to direct coding on bare hardware; to the emergence of higher level programming languages such as RNA and DNA, and associated interpreters; to single-celled organisms as complex applications running monolithic codes; to simple, largely undifferentiated multicellular creatures like SIMD parallel computers. Then, apparently, progress seems to stall for a billion years give or take--the software crisis.

Some half a billion years ago all that changed, with the `Cambrian explosion' of differentiated multicellular organisms, giving rise to all the major groups of modern animals [Gould, 1989, for example]. Living computation hypothesizes that it was primarily a programming breakthrough--combining what we might today view as object-oriented programming with plentiful MIMD parallel hardware--that enabled that epochal change.

Where we may be is in the leading edge of the Cambrian explosion for real artificial life. If so, there is of course no certainty, from our vantage point today, how or how quickly the process will play out. On the other hand, in this interpretation we are aligning perhaps three billion years of natural evolution with perhaps a century of artificial evolution.

We are living in interesting times.

next up previous
Next: Acknowledgments Up: Real artificial life: The Previous: What we can do Mon Dec 31 13:57:25 MST 2001