Java as Baby Step
James Robertson thinks that Java is an interruption in the forward progress of software development. It’s nice to see this meme spread a bit; I’ve thought the same thing since 1996 or so. During ‘95 and ‘96, watching Java start to gain traction, I was amazed by the ignorance and ire surrounding many of what I considered Java’s best features:
- the virtual machine
- garbage collection
- methods “virtual” (in C++ parlance) by default
- a singly-rooted class hierarchy
I came to view Java as a baby step that would serve primarily to soften up developers’ attitudes toward these things, thus shortening the leap required to adopt even better languages like Lisp, Smalltalk, and their ilk. I don’t think I was alone in believing that, but I didn’t hear anyone else saying it for a while.
It is nice to see people returning to serious language research again. Efforts like the Feyerabend Project and more practically focused offshoots like OOPSLA’s Onward! track and the Post-Java Workshops (as well as increasing grass-roots interest in languages like Ruby, Haskell, Squeak, Oz, and even an ongoing Lisp revival) give me hope that we’ll be ready to take a larger step soon.