Dr. Dobb's Journal May 1997
It's virtual May as I write this, and the world is in bloom. But in real time (IRT), it's chilly March and all the blossoms are metaphorical. I'm sipping coffee in cozy comfort by the fireplace in the Morning Glory restaurant in Ashland, Oregon, watching a light snow fall on Siskiyou Boulevard.
There is something distinctly right about that first cup of coffee savored while looking out on a snowy scene from a warm window seat. The time, the place, and the weather all contribute to that sense of absolute rightness. I've heard that it even works with cocoa, but that was from a chocolate fanatic. Two weeks earlier, I was sitting on a folding chair drinking watery coffee from a styrofoam cup in Moscone Center in San Francisco. I was attending the second annual Web Developers Conference, listening to the always provocative Alan Cooper, father of Visual Basic and midwife of good software design, talk about design for the Web.
Alan was in fine form, finding the faults in the footings of various icons, from William "Cyberspace" Gibson (his model of cyberspace is old-fashioned, mechanical-era thinking) to the Java phenomenon. You say you've rediscovered p-code for remote data entry on a mainframe? No, it's Java! It's going to change the world! Alan is perfectly right, of course. There is a familiar aroma about Java. And yet it really is changing the world of software development. So what if it's just a collection of reheated ideas? Apparently, their collective time has come. The time, the place, maybe even the weather, seem to be right for Java.
In another time and place, the menu I'm looking at would be dominated by meat choices, but here and now, it runs to vegetarian hash with roasted sweet potatoes, charred peppers, corn, shallots, and lemon-thyme cream for $5.50; or Basho's Breakfast (miso soup, steamed jasmine rice, pickled ginger, and sweet-and-sour vegetables) for $4.75. Javasoft's menu of world-changing technologies has something for every palate: supply-chain integration, smartcards, thin clients, applets, JavaBeans, and what Wired magazine is pushing hard -- push. And it's all low in fat, too.
I'm alone in the restaurant. There's not even a waitperson present as I peruse the paperbacks in the rack on the counter. Interesting choices, but in this time and place, my reading preference is a book I brought with me: Core Java, by Gary Cornell and Cay S. Horstmann (Prentice Hall, 1997). The second edition is still opinionated, readable, and informative. And there's significant new material, chiefly on JDBC and remote method invocation. I guess it's safe now to say that I never liked C++. I do like Java. Although it was designed to seduce C++ programmers with a false sense of familiarity, Java is fundamentally a very different language.
The reason no one else is in the restaurant -- oh, the owner just came in -- is that it hasn't opened yet. The grand opening is five days away. There's a lot of prep work in opening a restaurant: The owner looks frazzled. Writing Java code, here and now, is a little like doing the prep work before the grand opening: You hope the locks will work and the line will be able to keep up with the orders when the paying customers arrive.
There's a nice variety of coffees and teas on the menu. Since the World Wide Web came into my life, restaurant menus all look like first-generation web pages to me. I do hope, in the push for push and the general caffeination of cyberspace, that we don't entirely overlook the simple virtue of those primitive early pages with their straightforward menus of choices. The menu will be a key element of the web site I'm to create for my sister-in-law's restaurant, which is why I'm here in Ashland. I will post it on my Swaine's World site, at http://www.cruzio.com/~mswaine/. I expect to have it done by virtual June.
--Michael Swaine