|Java Reaches 20th Anniversary|
|Written by Alex Armstrong|
|Friday, 22 May 2015|
Java is arguably today's most important programming language and while it has its flaws and detractors it has had a big impact. It was first officially announced on May 23rd 1995 and Oracle has already been celebrating its 20th Birthday.
Source @Oracle on Twitter
Oracle, which took charge of Java relatively recently thanks to its acquisition of Sun Microsystems in 2010, has produced a Java timeline marking events in its history over the past 20 years and also issued a press release that provides some impressive facts and figures:
Introduced in 1995, Java is the programming language of choice for 9 million developers and today powers 7 billion devices. Improving road and air safety, collecting information from the world's oceans for science applications, increasing grain crop quality and quantifying to help feed the hungry, simulating the human brain and musculoskeletal system, and gaming are some of the intriguing projects worldwide that use the Java technology.
So what are the origins of Java and how did it come to assume its position as the most widely used programming language.
It was at Sun in the early 1990s that James Gosling, Mike Sheridan, Patrick Naughton, and others embarked on Sun’s Green Project, Initially it set out to target the convergence of digital consumer devices and computers. Gosling created a language called "Oak" that was a processor-independent language for controlling entertainment devices and was demonstrated in 1992. The idea didn't take off and the name had to be changed because of a trademark conflict
Shortly after its launch, Sun planned to license Java technology widely to companies such as Netscape that offer Web browsers, online service providers, and software OEMs. Sun's CTO Eric Schmidt told Sun World:
"The basic strategy is to license Java to people who have a need for network-centric applications. The first and obvious target is the browser world. Nothing in the design of Java limits it to Unix or any other operating system. ... It needs to be on all [major] platforms to be successful, and we are going to make sure that happens."
By the time Java 1.0 shipped in early 1996 Sun had created the slogan "write once, run anywhere" (also expressed as "write once, run everywhere") to illustrated Java's cross-platform benefits. The idea behind is is that Java can be developed on any device, compiled into a standard bytecode and be expected to run on any device equipped with a Java virtual machine (JVM).
Java didn't compile to machine code but to an intermediate byte code which was executed by the JVM - Java Virtual Machine. If a platform had a JVM then any Java program would run. Much was made of this but there had been other examples of this approach before, the P-code languages, for example.
What really made Java take off was the introduction of browser plugins that allowed programmers to write Java applets. This allowed animations and dynamic content delivered in the browser for the first time. It was a revolutionary technology that allowed games, access to bank accounts and viewing webcams. Today, of course, browsers are starting to drop support for applets plugins and as a result Java in the browser is dying, if it isn't already dead.
Despite starting out as a client side technology Java today it is regarded as a server side technology - how did this transformation happen? First it is fair to say that Java never actually had a UI that merged well with the native UI on any platform. Java client apps always looked like Java apps and not native apps.
The move to the server started with J2EE the Enterprise Edition. This introduced the idea of an application server - a web server that lets you create the server side part of a client server app. Using technologies such as JavaServer Pages, Servlets and Enterprise JavaBeans, it was, and is, possible to build the server side logic needed to deal with client requests. Java application servers - Tomcat, Jetty, JBoss, Geronimo, GlassFish and so on were created to serve Java EE apps.
Java was early to market with well developed serverside facilities by 1999. At around the same time Microsoft only had classic ASP which was similar to JSP. For a full response to J2EE, Microsoft had to wait for .NET ASP in 2002.
So is Java an amazing creation?
Interestingly most of the elements that we find in Java were already in use elsewhere. For example C++ was already more than 10 years old when Java first appeared. Java took a very C/C++ like approach to basic syntax and its object-orientation. It avoided the mistake of multiple inheritance, however ,and opted for single inheritance with interfaces. It also didn't use the manual memory allocation of C++, but opted for a Lisp like garbage collector.
Like many successes, Java was a language that picked the best things and put them together in a relatively easy to use form.
Since Java's launch many languages have been developed to run on the JVM - Clojure, Groovy, Scala and more - but none has displaced Java from its position. Outside of the JVM world, upstart languages such as C#, Ruby and Python took a portion of the Java empire, but with so much track record Java has staying power. For a while, Java programmers were discontent with the slow development of the language and might have tried other languages, but now that Oracle seems to be pushing forward and adding features that languages such as C# have had for a while, the discontent is fading away and Java maintains its privileged position as the most popular language. When we reported last September that Java had fallen to an all time low on the Tiobe index, its new rank was #2!
In response to the question what accounts for its ubiquity, Mark Reinhold, Java's chief architect, tweeted:
"Readability, simplicity, universality, and compatibility: The keys to Java's strong history and bright future.”
The problem casting doubt on this future is perhaps security. Being world's most popular language is probably why it is targeted so often, but without a reputation for security it is unlikely to establish itself as a client side language again - unless you count Android of course, perhaps the biggest and best reason to learn Java.
To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin, or sign up for our weekly newsletter.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Saturday, 23 May 2015 )|