|The Story Of Java - A Language Of The 90s|
Page 2 of 2
Despite its technical shortcomings Java did seem like a good corporate bet. You probably wouldn't be blamed for suggesting using Java. Partly this was because of the backing of Sun and partly because it was open source and hence future proof. Of course, Sun put a lot of effort into marketing it - which was strange for a hardware company.
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 server-side 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.
Eventually Java acquired the seal of approval of companies like IBM which got on the bandwagon not because Java was good or revolutionary, but because there wasn't anything better. Microsoft's C# didn't appear until 2002 and was proprietary. Microsoft's other language, Visual Basic, was good but had the image of being a toy language used by amateurs and it wasn't fully object-oriented. C++ was object-oriented, but had a reputation for being a difficult language suited to technical tasks. Interestingly, Python was around at the time, but it was a very minority language and it wasn't until 2000 that it started to gain support. Even today it is still regarded as something of an enthusiasts' language, being suitable for science and stats but not serious business software. So the choice for business use was Java or some even more unsuitable language.
But how unsuitable was and is Java?
Java had the advantage of seeing what had been wrong in C++. Its syntax and approach to data was very much simpler and regular. Everything was an object and there was no dropping down to lower-level approaches to get things done. The "everything is an object" philosophy may be simple and powerful, but Java didn't allow functions to be objects - it still doesn't. This makes passing functions difficult - you have to pass an object that has the function as a method.
Then there is the verbosity. You can't write concise code in Java there is a lot of duplication and boilerplate code. To see this you simply have to compare any Java code with the Kotlin equivalent. This is what makes Kotlin an attractive alternative.
All this said, Java is a language that you can learn to live with and be quite happy with. So much so that a long time Java programmer often can't see that there might be a better way to do things. Even after 25 years Java still doesn't have a credible rival and this is amazing after so long. 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.
Does Oracle pose a threat?
The one thing that worries current Java programmers is that Oracle, took charge of Java thanks to its acquisition of Sun Microsystems in 2010. Oracle is a company that has a reputation for making money and doing so in an aggressive fashion. Java programmers have long been expecting Java to be compromised in some way so as to generate an income for Oracle. To an extent this worry has been proven justified. There are now two versions of Java - the free Oracle OpenJDK which can be used without a commercial licence for any purpose and Oracle JDK which can be used for testing and development without a commercial licence, but needs a paid-for licence if you use it in production.
In addition, if you want long-term support you have to use the commercial version as support for JDK 8 has been phased out. Essentially Java is still free and open source, but if you don't want to update your software every six months then you need a commercial license.
Android and Java
Perhaps the biggest consequence of Oracle controlling Java is its effect on Android. The Android project adopted Java as its main programming language for native apps and this should have been one of the biggest boosts to the languages popularity and ensured its relevance in the mobile phone-oriented world. Instead Oracle is currently in the process of suing Google for copyright infringement and damages because Google stopped Oracle from developing Java Mobile in its own right. Only time will tell how all of this ends up, but either way it isn't good for the Java ecosystem and is another indication that Oracle is aggressive about taking control of Java.
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 world's most popular programming language.
|Last Updated ( Friday, 22 May 2020 )|