Subscribe

Open source Java changes all the rules

All the barriers to Java`s widespread, universal adoption have been dropped.
By Toby Kurien, ,
Johannesburg, 06 Dec 2007

Have you heard of the programming language Oak? Of course you haven`t, because it doesn`t exist. But it nearly did. In 1991 there was an oak tree outside the office of Sun Microsystems` James Gosling, who had begun development of a new set-top box project and needed a name for it, so the oak suggested itself.

Oak became Green, but there are many thousands of programmers who will be happy that Gosling settled rather on Java, from a list of random words.

Gosling wanted a language that would "write once, run anywhere", and Java 1.0, released in 1995, promised just that.

In the 12 years since then, Java has gained greatly in popularity, and earlier this year there was a pivotal event which has forever, and very much for the benefit of all, changed the nature of Java: Sun on 8 May released all of Java under the terms of the GNU General Public Licence, effectively making Java an open source programming language.

Prior to this, it had been free, but now it has become open source, which changes all the rules of the game.

This development shows clearly that Sun could not control Java fully and in perpetuity. It is far too important for one vendor to control, and so Sun has relinquished control of the programming language and all may contribute to it. It should grow rapidly, much as Linux has.

Vitally, it finally gives Java a chance to become the dominant programming language in the world, and to move into a position of parity with Microsoft from a perception point of view. All of the barriers to its widespread, even universal adoption have now been dropped.

It is impossible to overstate the importance of Sun taking Java open source. Many corporates have felt safe in going the Microsoft .NET route, but it must be remembered that Microsoft products are proprietary and can only be deployed on Intel and compatible technology. Java runs on just about every platform in the world, from cellphones to Apple, from Linux to PDAs.

It`s worth recalling the five primary goals behind the creation of Java:

1. It should use the object-oriented programming methodology.
2. It should allow the same program to be executed on multiple operating systems, without recompiling.
3. It should contain built-in support for using computer networks.
4. It should be designed to execute code from remote sources securely.
5. It should be easy to use by selecting what were considered the good parts of other object-oriented languages.

For any organisation considering a programming language on which to standardise, Java today represents a fabulous option. It is here to stay, and due to its write once, run anywhere approach, central to the Internet as it allows Web-based content to be displayed on a wide variety of machines: cellphones, PDAs, Windows, Linux or Mac desktops and notebooks. It has a major role to play in a huge number of applications.

It is impossible to overstate the importance of Sun taking Java open source.

Toby Kurien is a senior software engineer at Cambrient.

However, skills are in short supply, given the fact that many corporates have not standardised on the language. The release into the open source domain will hopefully change this situation.

My company uses the Eclipse open source development framework, which has been written primarily in Java. We also make significant use of Java libraries in our application development initiatives. Everything we use has either been obtained directly from Sun, or from the broader Java community.

Even before Java was taken into the open source domain, we worked with it as if it were already such. In essence, Java has given us a degree of flexibility we could not have had from any other environment.

Financially, it`s unbeatable. Due to the absence of licensing costs, development costs are far lower, and the runtime environment, documentation and support are all free. As such, it is perfect for start-up companies which are inevitably cash-strapped.

These factors will see Java adopted to a far greater extent than is currently the case: it will become ubiquitous, a case of "Java Everywhere", with only Microsoft limiting its adoption, as it is inherently hostile to Java. But that will become increasingly irrelevant, as Java is a far more important technology than Microsoft`s competing .NET.

By way of an indication of just how widely Java is used, Java SE 5 served more than 300 million downloads, and Java is pre-installed on two-thirds of new PCs.

Java developments worth noting:

* Java SE 6, also known as Mustang, was released in the first quarter of 2007, and earned rave reviews. It has significantly improved user interface performance and integration with native operating systems.
* JVM (Java Virtual Machine), the abstracted component of Java which allows it to be deployed on any technology, is set to be included as standard in Linux distros.
* Despite its name, JavaScript has nothing to do with Java. In version 6, Java SE allows Java applications to read, interpret and execute JavaScript scripts at run-time.
* JavaFX, released by Sun in May, brings Flash-like technology to the Java world. A family of products and technologies from Sun, it allows developers to create rich Internet applications, or RIAs, and it will take Adobe`s Flash and Microsoft`s Silverlight head on. In addition, it will be deployable on a variety of devices, from PCs to cellphones, hugely enriching the user experience.
* On 11 November Google announced the Android platform. This is an open software stack (operating system and applications) for mobile phones and other embedded devices. It embraces Java as its core technology, even recommending the use of Eclipse as the primary development platform. This shows the faith a giant company such as Google has in Java.

For the last 12 years, Java has helped transform the Internet from a forum of static Web pages into interactive, dynamic, animated documents backed by distributed, platform-independent applications. Now that it is in the open source domain, expect its success to accelerate and Java to reach its full potential.

In my next Industry Insight, I will take a deeper look at some of the issues raised here, including JavaFX, J2ME, open source libraries, and begin comparing Java and .NET.

* Toby Kurien is a senior software engineer at Cambrient.

Share