Grown up and boring

Monday, 20 Jun 2005

I recently read all the stories at folklore.org, a series of 118 (at the time of this writing) anecdotes about the making of the original Apple Macintosh, written by the people who did it. A thought was forming in the back of my head the more and more I read of it, and I started to think about writing this entry. Then I read Bruce Horn’s article On Xerox, Apple and Progress while finishing the last batch of my backlog and found everything I was going to say already expressed:

In many ways, the computing world has made remarkably small advances since 1976, and we continually reinvent the wheel. Smalltalk had a nice bytecoded multi-platform virtual machine long before Java. Object oriented programming is the hot thing now, and it’s almost 30 years old (see the Simula-67 language). Environments have not progressed much either: I feel the Smalltalk environments from the late 1970’s are the most pleasant, cleanest, fastest, and smoothest programming environments I have ever used. Although CodeWarrior is reasonably good for C++ development, I haven’t seen anything that compares favorably to the Smalltalk systems I used almost 20 years ago. The Smalltalk systems of today aren’t as clean, easy to use, or well-designed as the originals, in my opinion.

Ironic how an article from 1996 which laments the lack of progress in the state of the art from 1986, which was largely forestalled in 1976, would still ring so true in nearly 2006.

The “modern” idea of a GUI came together within about four years as the work of a very small team, and no one has since pushed the concept onwards in any major way. Instead, the industry has been flailing around, trying things which that team had already tried and rejected back before 1984. Apple has recently done some true evolution of the user interface, but even their work has only been a very gradual expansion upon the state of the art.

I am reminded of Rob Pike’s paper Systems Software Research is Irrelevant, wherein he argues that the raging success of Unix has killed off all competing models to the detriment of progress.

I am also reminded of rants I read recently, sparked by Apple’s switch to an Intel-based architecture, about the death of the workstation and the torpor that has befallen hardware architecture design.

I wonder what will be required to spark the next revolution.