Is Java Becoming Irrelevant?
- Application Development (?)
- Systems Platform (Solaris, Glassfish, Java, etc.)
- Infrastructure Development (Server Hardware, etc.)
With Sun’s stock (JAVA) falling from 20 at the same time last year to around 4 today it isn’t much of a surprise that the company has had to reel back costs and rethink some strategies going forward.
You have to wonder if the Java/Open Source-everything strategy Schwartz pushed is paying off or just making the open source folks happy while loosing Sun footing in the servers and platforms market.
With a strong push by the community and interested parties such as RedHat, IBM and Oracle, betting their server and platform offerings on Java/Linux and trying to drive that effort through the OpenJDK project it’s plausible to think that Sun’s own “official” Java release could become less and less important as we move forward.
Eclipse began this trend by completely invalidating the Swing UI stack in the JDK with the introduction of both SWT/JFace and the Eclipse platform itself (implicitly bringing along the importance of OSGi as an industry-leading design force)
With RedHat/JBoss (RHT) hovering around 18, Oracle/WebLogic (ORCL) floating around 16 and IBM/WebSphere (IBM) balancing around 80, you can imagine there are some pretty powerful companies, completely vested in Java, that will take this omen of Sun’s slide as a moment to jump forward and become the new stewards of the direction for what used to be a language, but is now a platform.
You can even see some disruptive forces in the Java space like Spring getting their foot in the door and eventually kicking it wide open with “easier solutions” to enterprise Java - that so far the community has mostly agreed with as seen by it’s penetration.
Spring in and of itself is a platform; another means of approaching the Java development problems. Another approach to how to develop and deploy your Java applications (enterprise, client or otherwise).
The purpose of pointing all these pieces out is that there are a lot of big elephants in the room, with their businesses and revenue streams tied directly to the same platform and the one-time stoic steward of this platform is slowly showing signs of weakness. I’m proporting that we are going to see some interesting transitions starting in Java land; not beginning with direct attacks on Java or attempts to wrestle the language out of Sun’s control, but instead peripheral attacks on the language by devaluing it as a language itself and pushing forward as a platform or an engine as a means of execution for other languages controlled by other sources.
One quick example is Spring recently aquiring the Groovy/Grails camp. Not directly Java related, but gives them more leverage in the platform space because it is JVM friendly.
Interestingly enough in an attempt to give longer legs to Java, the Sun team is working hard on opening up the JVM to host alternative dynamic languages; for example, JRuby is becoming hugely popular.
With all these new doors opening, the key to controlling Java may not be through a kung-fu grip directly against the base platform, but by controlling the most popular (and best integrated) 1-off language that becomes the Next Big Thing(tm).
If there is a pending invalidation of the platform I’ve been curious why Sun has been whole-heartedly helping this effort forward with the work on the VM boosting success in hosting additional languages. Certainly Java-proper has enough leverage and penetration now (being through the hype-dissolution-acceptance cycle) that providing the ability to host additional dynamic languages isn’t going to help that penetration by leaps and bounds (I’m talking enterprise commitments end-to-end).
If Sun had a proprietary grip on Java and it’s deployment, then hosting more things on the platform is a great idea, because you still need the platform… but Sun doesn’t have that type of grip over Java. They have a commercial lock-in on the platform side by giving you a do-or-die option (GPL or Commercial License) but beyond that, if you are simply deploying solutions on the platform, Sun has no leverage over you any longer and you are free to innovate right past Sun’s control.
An example might be Linux in this regard. IBM, RedHat, Oracle and a few other big powerhouses all rely on Linux for their company strategies and while it serves as the platform for their technology stacks, Linux (the community, Linus or otherwise) have zero leverage or garuntee of benefit from that relationship. Linux in this case is irrelevant, no one is getting rich off of it, no one controls it and no one can. The gelatenous mass that is “Linux” has no leverage over itself or against these companies if it wanted, it’s a brain-dead participant in the server-stack-war that is being dragged along for the ride because it allows itself to be.
Won’t Sun share this same fate as Java advances and continues to become a platform for platforms. Spring with Groovy, RedHat with Python, IBM with what… PHP? Let’s give Oracle Ruby then (all hypotheticals)… at this point all the big boys now have their own “secret sauce”, it’s all rehosted on Java, Sun has no control over these new Next Big Thing(tm) and it’s platform will just get dragged along for the ride in the form of OpenJDK, ontop of Linux, hosting some proprietary solution that is made relevant by the huge backing force behind it.
We are likely going to see a resurgance of programming-language wars starting up soon as each company picks it mascot, builds tools around it, integration platforms for it and starts pushing their solution as God’s Honest Truth. The question won’t be “Java, Ruby, PHP?” it will be “IBM, RedHat, Oracle… Spring?”
Everything goes in cycles, we did this a decade ago, we’re bound to do it again.