internet.com Developer's Forum
Magazines

webreference.com

Java Boutique

Search Engine Watch

PC Webopedia

The Web Developer's Virtual Library

Java Jolt
by David Wood

Xerox: At the Root of it All?

This week, some introspection, some predictions, and some ruminations.

First of all, I'd like to start by saying I'm struck by the responses from readers to last week's column. I started off by observing that Java and Apple's proposal for a new operating system had a remarkable number of similarities, both functionally and aesthetically. I innocently speculated that Java's popularity had led to design decisions for Apple.

All of this came out of my toying with the notion which Java has lately inflicted upon a number of people--if the flavor of your programming environment is agreeable, people will go out of their way to use it. It's strange to think people ever choose to work with a given operating system, or a given language, on the basis of it's merit, but what the heck, we're marching into the future, here.

Little did I expect it would draw the biggest reader response in the history of the column. Perhaps it shouldn't be surprising. Apple's bigger proponents do, after all, often deserve their reputation for zealousness in defending their platform, of which Rhapsody is undoubtedly the current culmination. Without a doubt, the histories of inventions are ever-complicated, and ideas never just happen. They percolate through a culture for years before they finally reach the light and crystallize.

So let it be a lesson. One reader pointed out succinctly that technology was drifting unquestionably from NextStep to Java, and sure enough, upon further investigation it appears to be at least partly true. The formalized Model-View-Contr oller approach used in the recent version of the Java GUI toolkit, which we mentioned is common to both operating systems, is perhaps a good example of what I mean.

MVC is going to be part of the programming in Rhapsody, according to Apple. Since the company made such a drama out of purchasing Next and "unifying" the two companies' strategies, the new Mac operating system is inheriting a lot from the OS most commonly known as NextStep, which apparently supported this paradigm before Java was even conceived.

I can't, however, really give NextStep the credit for anything other than having the foresight to use a good technique, since the idea has apparently been used in a number of other object-oriented environments before and since. On my impromptu search for its origin, I was able to find mention of Model-View-Controller systems dating back to the mid-eighties, when it was apparently being applied to another little known yet very promising object oriented system called Smalltalk. I'm fairly certain the idea goes back significantly farther than that.

After I had referred to Objective C (the patron language of NextStep) and the Java language as "distant cousins," another reader astutely commented on how much of Java "came from" Objective C (which dates to the early 80's), and sure enough, you don't need to look very far to find that much of the Java object model (for example, the very basic concept of a Java interface) probably came, at least in part, from Objective C. Although once again, we can't give Objective C itself credit for much besides going back to Smalltalk and stealing some more good ideas. And you can read it right in the documentation. Objective C is unabashedly designed to "provide Smalltalk object functionality to the C language."

It's perhaps fitting to spend our final moments considering the real origins of the Java language. In case you're wondering, the researches I've been led into by sharp-eyed readers have led me back, as so many  inquiries into the origin of modern computer science do, to the Xerox Palo Alto Research Group. The people who invented Smalltalk, somewhere back during the Reagan or Carter Administrations.

Of course, they too had the work of others to build on, but it's hard not to notice how many roads lead back to Xerox. Smalltalk, so its few but strikingly vocal proponents will tell you, was all-that-and-more for object oriented programming, many many years before most people knew what object oriented programming was. Perhaps in the continuation of a long-standing tradition with regard to ideas generated by the people in that research institution, the product itself was never successful, but eventually most every other company in the marketplace went about cannibalizing it for ideas, eventually getting around to imitating quite a lot of it.

So the best stab I can make at making sense of all this is that Rhapsody, Java, and others all share a common ancestry--they're all Xerox kids in some sense.

I like the mouse. I like the windows-based user environment. I like ethernet. I knew they were all Xerox inventions, but that's a part of long-standing and venerable computer lore. Books have been written about it. But imagine my surprise--even Java had it's hands in this cookie jar of ideas. Very interesting indeed.

I suppose ultimately they are just good ideas, and anyone who comes across them would see that. All the same, I'd like to propose a moment of quiet respectfulness for the Xerox corporation, which has steadfastly failed to capitalize on almost all of its world-shaping inventions. That's got to be tough. Better luck in the future, guys.

Past installments of Java Jolt


http://www.internet.com/
Web Developer® Home Over a dozen topics in detail Live Chat Downloads Book and Product Reviews Threaded Discussions How-To/Articles/Links Developer Daily News Subscribe Search Corporate Information Advertise Events Publications internet.com Home