Not everybody is convinced that Java, or even C#, are the languages of the future
Book review Bruce Tate is not a happy Java bunny, and hasn’t been for some time. In a previous book, ‘Better, Faster, Lighter Java’ (O’Reilly, 2004), he advocated the use of a number of popular open-source frameworks as alternatives to the perceived heavyweight bloat of J2EE using EJBs. Rather than be bogged down in layers of code and XML configuration for EJBs, he argued convincingly that frameworks such as Spring and Hibernate meant programmers could concentrate on ‘plain old Java objects’ (POJOs) and achieve results that were fully functional, easy to deploy and easier to code.
Now, given the subsequent release of Java 5.0, he is going much further. In this slim little volume, he puts forward the proposition that Java itself that is now holding back productivity. It’s not just the whole J2EE edifice that’s at fault; it’s the Java platform itself that is the barrier to results. And, if this is true, (and it’s a big if); he follows up by asking what it is that will replace Java.
As you would expect, a polemical little tract like this mixes technical argument, hyperbole and more than a dash of value judgement to persuade the reader that Java has lost its way and it’s time to look for alternatives. More than that, Tate also surveys the lay of the land and attempts to pick up some of the likely contenders for the Java crown.
There are some compelling arguments that Java is at a crossroads. The Java platform is becoming increasingly complex, the JVM has an obesity problem, the addition of generics has added complexity to the previously clean syntax, the layers of XML configuration required to plumb a full J2EE stack are weighing developers down. Tate puts a lot of this down to the fact that the big players (starting with Sun and IBM) are focused on large-scale enterprise development projects. This drives the evolutionary direction that Java has taken. What this means is that those developers working in other domains are finding things increasingly hard to do. Even simple problems, like putting a web front-end on a relational database are too hard to do, according to Tate.
Furthermore, according to the book, there are plenty of Java leading-lights looking elsewhere for inspiration and excitement. And, feeling constrained by Java, they are increasingly looking for dynamically typed languages rather than Java’s static typing. Chief amongst these languages is Ruby, and it’s the Ruby on Rails framework that seems to be generating most of the excitement.
Having given a potted history of Java’s development and its status, (none too healthy according to a number of the experts that Tate quotes), he then looks at the contenders for the title of ‘next big thing’. The aforementioned Ruby gets most of the attention, but Python, Groovy and even Smalltalk all get some consideration. C# is dismissed as Java’s evil twin, and .Net itself doesn’t merit much attention because of its proprietary nature.
Whether you agree that Java has had its day or not, this is an interesting read and gives plenty of food for thought. ®
Author: Bruce A. Tate
Publisher: O’Reilly September 2005
ISBN: 0-596-10094-9 200
List price: $24.95 US, $34.95 CA, £17.50 UK
Pan Pantziarka is a technical architect at Compass Management Consulting. He has more than fifteen years of experience in software development, network management and IT operations. He has also recently completed a part-time PhD in Machine Learning and Data Validation, and is now trying to remember what a life is.