Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

Java provides common ground across heterogeneous environments

Continued success hinges on maintaining Java's cross-platform nature

  • Print
  • Feedback
For years now, we have seen computer software and hardware technologies fragmented across several operating systems and programming languages. Such fragmentation has in many ways impeded progress in our industry for the past decade or so. Consider the fact that 20 years ago, Xerox created the basics of the GUI technology we see today. And 10 years ago, Apple's Macintosh boasted much of the same GUI stuff we now see in Windows 95/NT. The X Window System has had for years the distributed windowing system -- the same concept we will see in the form of "Windows Terminal" in Windows NT.

So why haven't we made faster and better progress? In my opinion, it is because we have had separate communities of computer engineers focused on distinct, proprietary efforts.

Consider the analogy of the International Space Station (ISS). The enormous effort of building it involves 15 countries because despite their differences, these countries realized that their cooperation was required to make fast and effective progress and collectively focus on a single environment -- the space station -- rather than duplicate one another's efforts with several different space stations.

Note that the scientists from all these countries were able to communicate with each other -- and thus effectively collaborate and work toward a common goal -- because they spoke a common language. Before Java, software developers lacked a common language worthy of universal use. And even among, say, C programmers, different dialects required for different hardware platforms and operating systems meant that the sharing of code often still required some translation. With Java, however, developers now have a viable common language that has enormous potential for the computer and appliances industry.

Why settle on Java as the standard and not some other technology? Well, as far as I'm concerned, it could have been any language or technology introduced by any company. But Java is here today -- it arrived at the right time with the right mix of features.

Java is an elegant and absolutely wonderful language to work with; in some respects it is an entire platform in itself. Java provides a common ground across several different environments, including key operating systems such as Windows, Solaris, MacOS, OS/2, AIX, Linux, and several others. While each of these major operating system has its strengths and weaknesses, I see them as devices that simply provide developers an environment to work in to get the real work done -- creating applications for our users.

In other words, Java transcends all operating systems and should be viewed as a technology that provides commonality across heterogeneous client and server environments.

Most people appreciate Java's cross-platform nature only in terms of client-side portability and fail to recognize the benefits of server-side portability. Imagine developing a Web server or a custom application server that you write once, but it runs on any Java-enabled OS. On the client side, imagine running your applets on a screen-based phone, WebTV, or PDA. Well, this will all happen shortly as several companies introduce new devices with Java virtual machines (JVMs). For example, Nortel will soon release a screen telephone that will run the same applets that run in your Web browser; Visa International is working with JavaSoft on the Java SmartCard API, which will run Java programs embedded in chips on credit cards; and there are several other companies working on other special devices with a JVM. (See Resources below for a list of JavaOS endorsers.) Who would have thought that the mass of desktop developers would be able to develop programs in a single language for smart cards, screen telephones, PDAs -- virtually any software platform -- without having to learn several different languages or deal with porting issues! With Java, the possibilities are endless.

  • Print
  • Feedback

Resources
  • A look at how Java is backed by some of the largest computer companies in the world http://www.javasoft.com/javaone/cospons.html
  • See how many products companies have bought into Java http://www.javasoft.com/javaone/w_exhibit.html
  • The Java API overview Web page provides a broad overview and schedule of current and upcoming APIs from Javasoft; see for yourself that Java is really more than just a language http://www.javasoft.com/products/api-overview/
  • The use of Java in the Mars Pathfinder Project http://www.javasoft.com/features/1997/july/mars.html
  • Platforms supporting Java http://www.javasoft.com/products/jdk/jdk-ports.html
  • JavaOS has been endorsed by several companies for desktop, consumer, and embedded environments http://www.javasoft.com/pr/1996/may/javaos.html
  • JScape, one of the leaders of 100% pure Java GUI components, builds PowerPanel and Widgets products, which provide a good example of how powerful Java GUI can be http://www.jscape.com
  • KL Group sells several 100% pure Java GUI components http://www.klg.com
  • International Space Station Web site http://station.nasa.gov/