John Chamberlain
Developer Diary
 Developer Diary · You Heard It Here First · 16 November 2003
The Bright Future of Java
I first began using Java early in the year 2000. I came from a background in Microsoft technologies, especially Visual Basic, and that was the planned focus of the new startup I had joined. At that time 4-year-old Java was widely seen as an interesting, but buggy and incomplete, environment useful primarily for making web applets--something we were not doing. When I recommended that we abandon Visual Basic, a proven commercial fast-prototyping and comprehensive development system, for Java my colleagues and superiors didn't know whether to laugh or to cry. It seemed like an insane idea to them.

My reason for making this recommendation was that something very important had just happened: version 1.1.8 of the Java SDK was released. This new version had two key changes that attracted me: (1) it included a high-level graphical toolkit called "Swing", and (2) it's stability reached business-level quality. Though noone else saw it at the time, in my mind these two changes spelled doom for Visual Basic and Delphi because Java was a overall a cleaner type of system and more important it was transparent--anyone could get the full specifications and source code for the reference VM unlike the other platforms which were secret and proprietary. With the appearance of Swing, VB no longer had any intrinsic advantages over Java and it had a lot of built-in disadvantages. It might take years but I knew that eventually VB was a dead duck and that we should base our company instead on this new emerging technology: Java.

Three years have passed. In that time Java has grown from being a toy to the development platform of choice, especially for anything web-based. Delphi is long gone and VB has receded into the background, relegated to the passive role of providing scripting support for Microsoft applications. What about the desktop, the big leagues of software development? Here Java is pushing aside C++ development and I think this is a harbinger of the future. A future that is very bright for Java.

People today widely recognize the commercial viability of Java and its dominance in web-based development. Java is the platform for major systems like eBay. Noone doubts this. But what many people even today do not see is that in the near future virtually all development including desktop applications that have always been written in C/C++ will switch over to Java. The forces driving Java forward are unstoppable, here are some:

  - runs on all platforms, Mac, Windows, Unix, PalmOS, cell phones, etc
  - has the most comprehensive extensions library of any language
  - IBM is pushing it as the language of choice
  - taught in schools, Java is now the first language for all students

Many people still think C++ will hold its own because of performance and native tightness advantages but this is a mistake. The performance advantages of C++ are minimal and as things now stand it is considerably simpler to write a Java program for a native platform and still retain as much (or more) functionality. So many libraries now exist for Java that C++ is being swept aside. For example, when you use Java you have instant, integrated access to cutting-edge cryptography/security, XML handling, HTML rendering, networking, mail, media, imaging and a myriad other application areas. In all these areas corresponding C++ support lags far behind. Soon this factor alone will obsolete C++.

Perhaps the most telling indication of the rising star of Java can be seen on Sun's "Swing Sightings" journal:

Swing Sightings, volume 19

If you would, compare the applications in issues 1 and 2 to those in issues 18 and 19. The change is stunning. Only two years Swing was mostly found in free software or minor utilities, now one major commercial application after another is being built in Swing or Eclipse including mainline commercial games. This is the end for all other languages, C++ included. Java soon will be the standard for all software development.

Developer's Diary 16 November 2003 · · bio · Revised 16 November 2003 · Pure Content