By: David Intersimone
Abstract: David I's Quest for the Holy Coffee Metaphor!
David I's Quest for the Holy Coffee Metaphor!
June 5, 1996
Scotts Valley, CA
Last week I attended the JavaOne Developers Conference in San Francisco. Exiting out of a parking garage near the Moscone Convention Center I ran right into a Starbucks Coffee store. I'm not what you would call a heavy coffee drinker (I usually prefer my caffeine cold and with bubbles housed in a 12 fluid ounce aluminum can). But in order to gear up for the 5500 Java fanatics attending the conference, I stopped and ordered a double café mocha. While downing the brew I had a few moments to reflect on the history of my favorite subject, programming languages.
As a developer interested in programming languages, I've enjoyed watching new languages appear over the last two decades or so. I remember, as a student many years ago, the (ahead of its time) language PL/I and it's features designed for the needs of both scientific and business programmers. As a working programmer, I enjoyed many languages including Pascal, Modula-II, C, Smalltalk, Ada, Eiffel and C++. In recent years I've been pleasantly surprised by the introduction of some additional languages including Awk, Tcl, Perl, Dylan, and Self.
In the past few years, watching the wide acceptance of the C++ language, I've often wondered if this was going to be the last great programming language. We are just about a year away from having an international standard (ISO/ANSII) for the C++ language. There are many C++ compilers for most computing platforms. There are great environments, tools, class libraries, magazines, conferences, and books for C++. C++ is a corporate standard language for business critical application development. Could another language come along and capture major attention? Lo and behold, along comes the new Java language!
After finishing the double mocha I was ready to enter the eye of the Java storm, JavaOne. I was on a quest to learn as much as I could about the language, the technologies, the vendors, and the products. Looking at the names being given to Java related products and technologies (Latte, JavaBeans, Espresso, Grinder, Roaster), I felt like I was caught in the middle of a Quest for the Holy Coffee Metaphor. I wonder when Starbucks will start selling their own brand of software?
Java is an object-oriented, distributed, robust, secure, cross platform, architecture neutral, multithreaded, portable, and dynamic language. Java is designed to be as close to C++ as possible with similar syntax, operators, and statement types. Differences from C++ include no support for operator overloading (Java does have method overloading), multiple inheritance (Java supports multiple interfaces), or automatic type coercion. Java adds automatic creation and garbage collection of objects making it easier to focus on application logic and not the memory allocation. A big difference from C++ is that Java does not use pointers for memory arrays. Java has true arrays with subscript checking instead of using pointer arithmetic that can cause memory overruns. With Java you can't arbitrarily turn an integer into a pointer by casting.
The most common form of Java use today is the applet (a little application) embedded into an HTML document to give it some form of executable content. If you can see a tumbling Dukie (the Java Duke of URL) near this paragraph you have a browser that is Java enabled. You can download the applet source code (images, .java and .class files). You can also use Java to build complete applications. Of course there is much more that Java can do (I'll show more in future versions of SipFH).
If you didn't get to the JavaOne conference, how can you get started with Java today? One easy way is to buy Borland C++ 5.0, the Java language is supported directly in the new integrated development environment. You can also check out some of the many Java-focused sites on the web:
If you want to get up to speed quickly on what Borland is doing with Java, you should attend our Seventh Annual Borland Developers Conference in Anaheim California, July 27-31. We have a whole track of technical sessions for the Java language, our JBuilder product and techniques for building web delivered applications.
Will there be another new exciting programming language just around the bend? In the meantime I'm buying all the coffee that I can get my hands on so that I can continue my Quest for the Holy Coffee Metaphor and be able to track all the great things that are happening in the Java world (and trying to stay awake to have enough time to enjoy it all).
Server Response from: ETNASC04