The Future Of Java

Java’s future will be constrained by the bounds of Oracle's business model.

Drama has been running high since Oracle began to shape up the Java technology it acquired along with Sun Microsystems. Oracle ended the impasse over a new core Java release, set out a road map for the next two years, and began reorganizing Java's ineffectual governance. Oracle's Java road map and commitment to invest reassured enterprise customers and prevented a split with IBM but alienated many in the open source community. But Oracle's plans so far fail to address Java platforms' inherent complexity, which remains Java's Achilles' heel in head-to-head competition with Microsoft's.NET platform. Moreover, a controlled, top-down innovation model will limit Java's role as the basis for the "cloud" generation of platforms, rich Internet applications, and new development techniques ranging from languages such as Ruby to approaches such as business process management (BPM) and business rules. Conclusion: Java's future in the enterprise is alive and well but limited.

Oracle’s strategy for Java will change the Java ecosystem that has existed for 11 years.

  • Oracle will direct Java innovation. Oracle has made it clear that from this point forward, it will direct all innovation in core Java (Java SE). Oracle will happily accept the contributions of others through OpenJDK as long as those contributions align with Oracle's priorities.
  • OpenJDK is not fully open. OpenJDK is covered by a General Public License (GPL), and though it's certainly true that there are alternative JVM implementations and derivatives out there, OpenJDK is not open in spirit: It's practically impossible to distribute an alternative implementation without Oracle's sanction — specifically without a grant of the Java TCK. Losing The Apache Software Foundation as a supporter also hurts Oracle's credibility as a partner with the Java alpha geeks who drive so much independent and discontinuous Java innovation. Those developers will take their energy elsewhere, probably to Apache projects.
  • The JCP is dying. The Java Community Process remains in place, but we believe that Oracle will formulate an alternative that ends the fiction of JCP as an open process and streamlines the process of Java platform evolution. The result will be total domination of Java's evolution by Oracle and IBM.
  • Competition will shift to frameworks. With Oracle directing innovation at Java's core, others in the Java ecosystem will focus on higher-level frameworks. This shift began years ago, but we now expect it to intensify. We expect most of the work on frameworks to focus on the enterprise, as that is clearly Oracle and its core partners' focus with Java.
  • Fewer young developers will learn Java first. One of Java's greatest strengths has been the number of young developers who learn it as a first language. As Java becomes less and less of a client-side language, we expect to see educational institutions switch to other languages for primary education, ones with stronger client-side representation such as JavaScript and HTML 5. Over time, developers will begin to view Java as a server-side language for enterprises — like COBOL.

These ecosystem changes will have minimal immediate impact on customers. Java SE 7 and 8 will move forward, driven by the strong consensus among Oracle's partners about the content of those releases. Customers will see predictable and stable enhancements of enterprise Java middleware. But Oracle and its close Java partners are in a classic "innovator's dilemma." It may take a decade, but the bottom-up innovation the open source community drives will find expression elsewhere, and smaller companies that Java's high-end capabilities do not serve well will gravitate toward a new "good enough" open platform — likely based on a combination of LAMP and HTML 5 open standards.

Jeffrey Hammond and I collaborated on this research. See the full report at this link.

Comments

This proves that you are dumb

This proves that you are dumb and don't know anything, otherwise you wouldn't have raised your tone and answered in an offensive manner to protect yourself and your baseless answers. You're not the first ignorant person that I've seen that whenever locks up and can't come up with valid answers starts calling people things.

I didn't call anyone

I didn't call anyone anything, I simply said quit playing dumb and read what I wrote earlier. It's the second time you were told to read comments instead of flicking through them.

What makes .NET truly RAD?

What makes .NET truly RAD? And the Java Platform is larger than the Java language. Clojure, Scala, Groovy, etc. are alternatives that a "Java the language" programmer that wants to try different things has in its hand bag. There's no need to try that platform dependent .NOT that only has some of its libraries ported to Mono (e.g. WPF is missing) at all.

.NET was made to be RAD. Just

.NET was made to be RAD. Just look at the guy behind .NET, he's been in the RAD business for years.

Next look at Java's core developers...most of them are/were system developers.

Don't get my comments wrong, what I'm saying is that they're different, that's all.

Look, I said give concrete

Look, I said give concrete examples. Saying .NET was made to be RAD and Anders designed it to be RAD doesn't make it RAD. What features does .NET have that makes it RAD that Java doesn't have?

Mi scusi?

"But Oracle's plans so far fail to address Java platforms' inherent complexity, which remains Java's Achilles' heel in head-to-head competition with Microsoft's.NET platform."

Mi scusi, but in which way the Java platform is inherently more complex than .NET?

Yeah, I wondered exactly the

Yeah, I wondered exactly the same thing! I think that Microsoft make very simple things easy to do, but when you want to step slightly outside of the box, their cookie cutter approach doesn't work so well.

Mi scusi mi scusi mi scusi!

"The JCP is dying. The Java Community Process remains in place, but we believe that Oracle will formulate an alternative that ends the fiction of JCP as an open process and streamlines the process of Java platform evolution. The result will be total domination of Java's evolution by Oracle and IBM."

Are there ANY, for God's sake, ANY, facts behind this statement: "The result will be total domination of Java's evolution by Oracle and IBM?"

Please guys, don't predict the future while you are drunk or are on sedatives! ;-)

Hi John, We meet again in

Hi John,
We meet again in one of your blogs regarding Java technology! :)

I have to (regretfully) agree with you that I believe the recent developments in the JCP and OpenJDK (over the last 2+ years, even prior to the acquisition) suggest that the ability of the JCP as a process for developing Java technology standards is waning and the influence of Oracle and now IBM in the context of the OpenJDK is increasing. This is indeed worrysome to someone like myself who has been fortunate to be a part of the development of Java. Despite not being perfect Java under the stewartship of Sun seems to have been a relative success despite the continual protestations of the community with regard to its openness. From my perspective the community have had considerable and increasing access to the future of Java, while Sun was able to (rightfully) retain control of its IP. It is in fact debatable that Sun's willingness to
devote such resources to open source that might ultimately have resulted in its demise, however of course it is never that simple.

I believe that Java has in fact fostered the development of many, many frameworks, and in fact this is where much of the developer interest is, and will continue to focus, now, and in the future.

I would in fact assert that (and this is just my own personal and highly subjective SWAG) Java has pretty much enabled much of the open source "product" over the last few years. I see no reason (unless Oracle are deliberately or accidentially malevolent) why this should not
continue.

I think it is also questionable to assert that any undue influence over the platform is likely to result in its immediate or eventual demise.

If this is the case, the one must question Microsoft's exclusive stewardship of .Net and C#, or similarly Apple's control of iOS or MacOS; none of these platforms have the remotest comparible "open-ness" when compared to that of Java, even under the emergent conditions.

Neither, .Net, iOS nor MacOS seem to be waining despite the total control that their owners exert over them. So I do not beleive that openness or lack thereof is even a deciding factor in the long term success or failure of a technology. There are in fact many more factors that I think
have a greater influence over this, some of which are in the control of the inventor, some are not.

To the matter of the influence of the emerging programmer; I have to agree with other respondants to your blog, I very much doubt that
many CS schools are quite so vocational to teach the fundamentals of CS using Javascript or HTML5, nor do I imagine do they use C#, or
Objective-C. Some may use Python, some may use Ruby, some may use Erlang, or Scala. Once graduated, a new programmer learns the
technologies needed in order to implement technology for their employer whoever that may be. In the past, while some languages taught
in CS were transferable (such as C and C++) some were not, and the newly employed graduate had to learn new technolgies. I believe this will always be the case. So while the choice of CS teaching medium is significant, what is used in industry is more influential in my opinion.

So what you state, is in fact not the future of Java, but the constriants upon it, so what to you believe those constraints will result in?

- Will the industry stop innovating on Java, either in Open Source or proprietary IP?
- Will the industry migrate from Java to .Net/C# or Objective-C on iOS/MacOS?
- Will Google abandon Android & GAE on Java for Android & GAE on Ruby or Python?
- Will there be a winner in the Ruby, Python, PHP, Perl DSL competition?
- Will Oracle and IBM be able to cooperate in OpenJDK and Eclipse and still compete outside?
- Will Apache stop developing technologies in Java and move to another language, if so what?
- ...

Does your report touch on any of these questions or others?

What should we take away from your posting, what thoughts or actions are you trying to provoke if any?

just wondering

Best Regards

Larry

p.s
these comments are my personal remarks and in no way reflect the opinions of my (current) employer SAP Labs LLC.

An inconvenient truth

You say:

'Moreover, a controlled, top-down innovation model will limit Java's role as the basis for the "cloud" generation of platforms, rich Internet applications, and new development techniques ranging from languages such as Ruby to approaches such as business process management (BPM) and business rules. Conclusion: Java's future in the enterprise is alive and well but limited.'

Have you not heard of JBoss DROOLs? It's the premiere Open Source BPM and business rules product. The facts are at odds with your assertion.

Emotional and Reactive vs Objective and Professional

Why are so many people so emotional about this? Java is just a tool and languages never last very long anyway. I've gotten 10 years out of Java which is more than I've managed to get out of any other language in my 35 years in computing. I'll probably start learning C#.NET now or maybe Ruby. I like learning new languages and am pretty good at it. Most of the people commenting on this blog would be too. Furthermore, most of us would know five or six languages well so if Java disappeared tomorrow it should not be a problem. (I probably now prefer JavaScript, along with the great APIs you can get for it nowadays, anyway.)

Great article by the way. :)

java future

hi all, ive seen 5 years+ java as well and i think it wont ruin anyway,u all know the greate existing features............some are like platform independency,robustness & many more...................

Today with 1 step up, the big

Today with 1 step up, the big companies are fighting about java patterns and its worth of 5 billion $.
Just imagine, java is an opensource and still it didnt loose its identity because its lot worth than what we seeing now. The future of java is bright with the reflection of past 10 yrs and no adds required because developers are the model for the gaint networks(java developers).

"After 10 yrs java will be Universal Language for the upcoming Technologies".
- VM.

Reminder

We tend to forget too that Java dominates in the "big end of town" - .NET, for instance, just doesn't run on Unix and IBM mainframes. It hasn't got the server side power and scaleability that Java has either.