The Future of Java: forking, death, or stasis?


News: The Future of Java: forking, death, or stasis?

  1. Is it time to consider replacing Java? Java pundit and former Editor-in-Chief of, Joseph Ottinger, steps into the fray by proposing some options, alternatives, and more to the point, a reality check.

    The Future of Java: forking, death, or stasis?

    Threaded Messages (34)

  2. I go with the fourth one; switching to Python is what I did and expect many others to do.
    It's so sad to choose the last alternative after so many years of experience and so many excellent tools around but Oracle is monopolist. We have to accept it.

  3. I go with the fourth one; switching to Python is what I did and expect many others to do.


    I am sorry to dissapoint you but I won't do that in 100 years. I don't like the syntax and the language itself and I do't work with something I don't like. I would return to C++ (and build whatever library I need myself) but ran away from Python like what.


  4. Freedom[ Go to top ]

    The idea of Oracle controlling Java in any way or form should make everyone, I mean everyone, abandon the platform. Java's value proposition is quite simple: (1) Cross platform. (2) Owned and controlled by the community. On that note, two logical possibillities ensues: (1) Oracle unleasches java to the community and abandons any and all control. (2) The community embraces Google's Go. I vote for the latter considering that we are dealing with Oracle.

  5. Java is dead, Long Live Java[ Go to top ]

    I don't see outright death of Java. Too much investment to put it down.

    I think there are different futures for "Java the language" and "Java the VM".

    People have been projecting some quality stuff onto the JVM.(ie Fantom,Scala,Clojure,JRuby,etc) so maybe the JVM ecosystem has to evolve to re-engage the community.

    As far as the Java language, it's disheartening to see the community get so maudlin -- myself included. The inertia with the JDK lifecycle is beyond frustrating and I don't think the patience of the development community is infinite(Oracle beware).

    Please no JCP-like entity. I've seen more productive outcomes watching a monkey poo throwing event at the zoo. There is no good that can come out of any clone, retooling of the JCP.

    Maybe Oracle will be a "benevolent dictator". It seems to work with Microsoft. It might be worth a shot.


  6. Well, forking is in the air[ Go to top ]

    OpenOffice has already been forked recently into LibreOffice, by the Document Foundation.

    And guess what !? Take a look at the initial foundation support list: it includes Red Hat, Novell... and... Google !

    So, imho, it looks like the play of giants around us is still on-going, on different fronts, with... unknown result so far.



  7. Is it time to consider replacing Java?


    Billy down the street already put up a Java replacement project on Sourceforge last Tuesday after band practice. 

  8. I vote stasis to Joe O.  Death to so Ted Neward.

  9. Java is a reasons rich in natural resources. There are many state forests in Java. Either teak or mahogany wood found in this country. So not impossible if there is a lot of processing teak garden furniture here. That is why Indonesia has the potential to become the country's largest supplier of teak garden furniture for export.

  10. Scala![ Go to top ]

    I can't believe you wrote so many words without even once mentioning Scala!

    It is a exceptionally well designed language, less that 10 years old, run by a university, statically typed, integrates very well with all our Java code, has decent IDE support that improves every month, vibrant community, killer apps (Lift and Akka), excellent performance, object oriented AND functional, and open source. Oh, and and and... it even has closures!

    If we all jump ship to Scala, we can just say "Yeah yeah yeah, whatever is fine with you" to Oracle, since all we need is a JRE.

  11. Mats, I understand your enthusiasm for Scala - I share it. But part of what makes Scala attractive to me as a Java developer is its tie to Java through the JVM. That makes Scala irrelevant for the topic at hand.

  12. Joseph,

    as I understood Mats it makes Scala relevant. Scala enables us to switch to a different language without giving up all the good things Java brought us (performance, frameworks etc.).

    Thus we are in a position to let Oracle do whatever it wants with Java (even a complete freeze in evolution of the language wouldn't scare me), nevertheless continue using the advantages of Jave and having a great, open, evolving language at hand (Scala).

  13. I understood his point. The problem is that it's not just Java-the-language that's endangered; it's the JVM, for the same reasons.

    Features like lambdas, etc., can be done in the current JVM spec, sure. (Hard to deny that, since it's been done, and it's not like they use features that Java itself can't be made to support.) However, the VM is still remarkably aimed at Java-the-language; for Scala to "take over" from Java, the VM should be more broadly appropriate.

    My belief is that under Oracle, that's not likely. Thus: Scala, while a wonderful language, isn't the answer.

  14. Wrong perception[ Go to top ]

    I think that Scala will not go out of the academia circles unless some large company (Oracle?) buys it out and provides necessary support. Scala is dead without Java and JVM. Besides, most of large for-profit companies invested in the mix of Java and earlier C++. So, reinvesting implies too much spending. In current economic situation it is impossible.

  15. It looks too naive to talk about such thing as lambda calc. within Java context. I am pretty much sure that even if it will be available some time in 2012, it won't be used by the whole community. Yes, it is nice to have, but not a must. We lived without it thru all these years of Java growth and survived. So, please do not be that picky as to what is there and what is missing. Do not forget that initially Java was conceived as the language to program PLCs, not as the general programming language. Simply, Gosling understood that it could be used elsewhere and made it happen.

  16. Stasis != Status Quo[ Go to top ]

    The article title shouts stasis, while the article talks about Status Quo.

    Roll over, lay down, troll.


  17. I vote for evolution!

    There already have had many  Java branches!

    For example  I would remember that the Linux community already tried to do so with their gj compiler (that compiles java code natively).

    But it had no success.

    Then there is the JRock JVM (now owned by Oracle), but it adheres to the JVM standard Language...thus it is not properly a branch.

    Then Microsoft had made a sort of branch developing C# (it is a "copy" of the Java language).

    Then the Apache foundation tried it with Armony, aborted very soon.

    Finally, we already have had many branches, and many branches will become.


    I think that Java now is the best language for DB based applications, Oracle has its own core business on data bases, thus java is their "cornerstone" to take care and to invest in it.



  18. I think that Java now is the best language for DB based applications

    I really doubt that!

    Most of Java base (DB) applications lack DRY concept and hence result in huge unnecessary LOC. Yet again the usually suffer from impedance mismatch. Take a look at the beauty and ease of SQLAlchemy or Django.

  19. I personally think it's a very exciting time for the Java Developer!  But I also feel that the role of the Java Developer is now rapidly changing (and actually has been changing for some time).

    The modern Java developer now has the choice of using a JVM supported language that works for _their_ problem domain (Scala, Groovy, Clojure, JRuby or poison of your choice) while still leveraging the power and the vast libraries of Java language itself.  Groovy console for realtime analysis of my Java JMX beans on my app server?  Yes please!!!.  I say "has the choice" but I think the industry will increasingly expect the 'Java' developer to know about some of these langauges in order to get the job done, espeially if the Java langauge is lacking in some vital feature (and I mean vital for enterprises not for langauge lovers).

    We've also come a long way in tooling around good software practices: JMock/EasyB/JBehave/Junit and pals for testing, Hudson/Maven/ANT/Gradle for building and CI, SVN/GIT for source control, the choices are endless!  Often it's the Java ecosystem that leads the charge in this area, and that's really exciting to me.

    Java as a language cannot be a silver bullet, no single language can be.  I don't see a huge problem with the Java language not being on the bleeding edge, enterprise customers don't want that.  The new JVM languages allow us to scratch the itch of being on the latest and greatest and I think if Oracle plays it right they'll be able to keep both camps happy.

    "Java is dead, long live the Java Developer!" ;)

    Disclaimer:  I'm co-authoring a book on this very theme, so I have a very vested interest in my own opinion :), see @java7developer on twitter if you're interested.

  20. Nothing has changed yet[ Go to top ]

    Despite the negativism, that right now starts to spread in java ecosystem according to Oracle ideas and visions I think that nothing has yet changed, even though we are in 2010 and until the release of Java 7 or 8 who knows, we won't know what has really changed and what not. We can start to speculate and create some conspiracy theories, but nothing has changed yet and I don't think it will. We are in a status quo and until the next Java release, we will be, for some, this thing is annoying because, they look at other platforms and see that things are moving somewhere, for instance .NET evolved in the last years and I think in the next months a good amount of java developers will migrate to .NET, just for this reason only and we should look to other posibilities like Python, Ruby, Scala, that will have their part of disappointed java developers that will find their way there.

    So nothing has changed yet and this thing is annoying, the question is, how long will be the waiting and what effect will have on Java ecosystem. Last year I heard that this year Java 7 will be released, this year I heard that will be 2012, next year who knows.......

  21. Nothing has changed yet[ Go to top ]

    "Nothing has changed" is part of the problem. If nothing's LIKELY to change - and I think that's the case - then the problem is eminently manifest.

    And yes, I'm the one who thought that stability was a good thing. Now we have too much of it.

  22. Nothing has changed yet[ Go to top ]

    Java 7 will be released Q2/Q3 2011 according to the latest report from Oracle at the JavaOne conference.  We'l be tracking it's progress at @java7developer (twitter)

  23. Dead?[ Go to top ]

    Let's be honest there are only a few "platforms" that are used widely for enterprise applications:

    - COBOL (especially on System z)

    - Java

    - .NET

    - C/C++

    All other "platforms"/languages are niche players in my point of view  - like ABAP for SAP, PHP, Rails etc for web applications, etc etc

    If Java is dead because Oracle controls the language, than all of the other platform metioned above should habe been dead for a long time. Or is .NET an open, free platform? Some even claim that an advantage of .NET is (was) that Microsoft contols everthing and therfore has a lot of speed.

    Even if Oracle controls the Java language we have competing Java platforms from Oracle and IBM - and a lot of Open Source platforms like JBoss (ecosystem) and Spring - with VMWare being another Java Cloud platform in the future (vFabric).


  24. For those paying attention, in many ways, Java has already been forked. At least 3 times, possibly 4depending how to qualify Java ME. And for these forks you can look to Google.

    The first fork is GWT. This is a subset of Java on a completely different runtime. If you wish to be pedantic and say "then it's not Java", then fine. Doesn't make it any less of a fork, as any change in Java will likely be "not java". But GWT has good adoption and specifically targets Java coders.

    Obviously the other big one is Android. This offers Yet Another runtime, and library base. In that way it's much like GWT.

    Finally, of course, you have GAE. Which has it's own Java runtime. This one is less dramatic than the others, perhaps more so a rather strict world view already made present by the Java Security Manager and Servlet spec. But, nonetheless, you can't "write once, run everywhere -- including GAE". 

    Neither of these forks change the language in any dramatic way. Rather they simply change the runtime and library environment.

    While they do draw Java programmers into a new environment, but none of them really impact the Java community of coding base. I am not an Android developer, but I haven't seen any real visibility as to whether a particular Java library is "Android compatible" or not. Or that developers in the general Java community are testing against Android. I know many frameworks have been tested and ported against GAE. And most of these forks are upward compatible with full boat Java.

    But just because they're compatible, doesn't, nevertheless, make them any less a "fork". Arguably, this is a vindication of the platform, about how well it "mostly" ports. Since most folks use the Sun JDK (I consider Apples JDK to be basically Suns, frankly), some use IBMs, and fewer still use JRockit, portability has had its burden placed on the SDK developers. Only in the Java ME space has "write once, debug everywhere" been more of a problem.

    So, forks have happened. Little forks, but nonetheless forks that are seeing large, production user bases today. In time, perhaps we'll see more if the rift continues between Java and Gava.


  25. For those paying attention, in many ways, Java has already been forked. At least 3 times, possibly 4depending how to qualify Java ME. And for these forks you can look to Google.

    The first fork is GWT. This is a subset of Java on a completely different runtime. If you wish to be pedantic and say "then it's not Java", then fine. Doesn't make it any less of a fork, as any change in Java will likely be "not java". But GWT has good adoption and specifically targets Java coders.


    +1. Interesting perspective.


    I wrote in the past:
    Google has released a (kind of) Java Browser Edition with GWT

    Few years ago, I wrote Why not running a Java Browser Edition on top of Firefox VM (Tamarin) ? after reading a post of Ethan Nicholas (SUN) about a forecasted Java 2 Browser Edition (renamed later as Java Kernel).

    AFAIK, such edition has never taken off. But I realized recently it lives under another form, quite according to my initial post's wishes; more and more pieces of a browser edition of Java run on top of JS engines, inside browsers, with the help , for example, of the GWT Java to JavaScript compiler.

    Well, the split to define the Java trinity (language, VM, standard library) has been fruitful.


  26. Guys,

    Why are you wasting your time? Mr. Ottinger is just a simple dummy with no technical background except editing texts. I don't think he is qualified enough to make those claims and judgements, so for me I just ignore him.


  27. Guys,

    Why are you wasting your time? Mr. Ottinger is just a simple dummy with no technical background except editing texts. I don't think he is qualified enough to make those claims and judgements, so for me I just ignore him.


    Heh, kind words. What's your definition of "no technical background?" You do know I've been on multiple JSRs and was a founding member of OpenSymphony, and I have a number of open source projects I've committed to, started, or participate in, right?

  28. I personally enjoyed his article, as well as the posts where people exchanged ideas that his article sparked.

    In only one post did someone resemble a simple dummy (wait for it...).

    Nice article, Joe.

  29. Plus ça change...[ Go to top ]

    Okay, a lot has changed over the last few months, but the arguments are just the same as they've been for the last five years.

    The bottom line (it seems to me) is that it's Independent Software Vendors who decide what language and tools to use. You can't change the direction of even a small team in the middle of a project. Most code is maintained over 5 or 10 years (or more), and you can't just decide to write new features in a different language on a different platform.

    If Java does die, it will be a very long, drawn-out death over ten years or more.

    The Java VM has been the biggest productivity gain in my 13 years of software development. It has provided me with continuous employment and income.

    I would not have had such an interesting and varied experience with Delphi, C or C++ (all of which I have used). Most of the projects I've worked on would have been nightmare maintenance experiences with something like Ruby.

    Finally, I would urge people to remember that the pace of change in Java has been slow because of the JCP not in spite of it. A Java Foundation could lead to stagnation, not innovation. Most small, open-source projects are benign dictatorships which consult, not truly open and democratic organisations. Furthermore, a Java Foundation would not be owned by the community, but by the large software houses (IBM, Google, etc) who have their own agendas. That's not really freedom.

  30. Hmm....[ Go to top ]

    This press release has caused a stir in the blogosphere, and seems somewhat relevent to this discussion:

    Oracle and IBM have been less antagonistic in the press of late, so hopefully this is the sign of some good co-opetition coming.

  31. Java Rocks - long live java![ Go to top ]

    Whileever there is a JDK to download and a JVM for any platform I need to deploy to then I'll be sticking with Java. There is simply no other typesafe, powerful, widely deployed language and environment that can compare - but it's not only that - it's the people who use Java - they're 'software engineers' not cowboys. I've never seen a software engineer use PHP and many of the other 'flavour of the month' languages. Sure, hackers will switch to anything that 'seem' trendy at the time but engineers will stick with what will allow them to be honest to their profession: productivity, quality, integrity and robustness of their software outcomes.

    Long live Java and all credit to James Gosling and co who had the insight to create such a revolutionary concept.

  32. Vala is the new C/C++[ Go to top ]

    If you considering to switch back C/C++ ...

    I think the Vala language has a geat potential:


    It is based on gcc, so it supports same platforms gcc does.

  33. Let Google Control JAVA[ Go to top ]

    Google is more committed to open source than Oracle is. I say let Google take charge of Java. We would all be better off. We should just use Google's Android platform and run the Dalvik Virtual Machine instead of Oracle's JVM. Oracle should never have gotten Java or any other open source offering. Oracle is anti-open source.

    Let's support Android's DVM and open it up for enterprise development. To heck with Oracle's lawsuit!

  34. Well you are obviously not THE Bill Gates because the real one paid Sun a 1 billion cash settlement during the last big dispute about Java IP.  Even Google could hardly ignore that kind of number.

    As for Java being dead you might as well say that C, C++, or JavaScript is dead.

    As for Oracle being anti-open source, have your heard of OpenJDK?  This is where the code for the new versions of the JDK are developed.  Feel free to hack all you want:

    Just because someone protects their intellectual property doesn't make them anti open-source.  Also, if you've ever seen Oracle's code you may not want to see it open sourced anyway...  Take a look at the Oracle JDBC driver code some time for a scary intro.  Some things are better left unseen.

    As for the JCP, we already have pretty much everything in the JDK we need and so many open source extensions it's unfathomable.  Is anyone really waiting around for the next "new features" we need to add to Java?  Any need beyond the basic JDK which has market share already has an open source project.  What we need is a stable JDK with bug fixes and security patches.  Which we already have, whether you prefer the OpenJDK distro or the Oracle distro...  I'm sorry, is that too status quo?  Stability is, like, kind of what we build on.

    But congradulations again!  Great way to generate hits.  I havn't posted to the Server Side or considered it relevant since ~2004.  Not meant to be an insult, just the truth.

    And by the way, your message post page doesn't work with iPhone... I would have thought the true Java haters (Apple) paid you for generating innuendo around Java, except for that final fopah at the end that posting doesn't work on iPhone.  Apple, after all, is very rigourous on interface requirements and would have insisted on compliance.

  35. No, I didn't say Java was dead.

    Oracle has just made a deal with IBM to get rid of the Harmony project that is behind Android and to work jointly on OpenJDK. Harmony is the open source version of Java that is the basis of Android. Oracle chooses to support one open source project over another if it meets its needs, not because of any love for open source. With Harmony gone, Google has no choice but to take it over or risk seeing Android go down the drain, something it can ill afford. In fact, Google contributed to OpenJDK and has more developers working on it than Oracle does.

    Sorry, but I dont' know where I mention Apple's iPhone??? Let me know...