« A Rudderless Ship? »
When you think of Java, what's the first company that comes to mind? In the past the quick answer would have been Sun, however lately I've been getting the impression that this is changing. I'm feeling a seismic shift in the Java world, and that shift is going away from Sun.
A good, concrete example of what I'm seeing is found in the Java language itself. In the past, the assorted versions of Java (1.3, 1.4, 5.0, etc) were controlled and led by Sun. Their feature sets, bugfixes, capabilities and release schedule were all managed by Sun. Today, it has been almost 2 years since Java 6 was released, and the JSR which will specify the feature set for Java 7 hasn't even been created yet. Given that the expected time from JSR creation to delivery of Java 7 is about 18 months, it's looking like it'll be at least 2010 before Java 7 binaries exist.
In the meantime, many other efforts have charged ahead on the JVM. JRuby, Jython, and Groovy are all seeing a lot of usage and development, and their rapid advance has only emphasized the slow speed at which Java is progressing. At the same time, there has been a lot of talk in the community about Java being a mature language, and that it may be reaching the point where no further features can be added to the language. Scala has been identified as a potential successor to Java by many, as has Ruby. The JVM is being used as a multilanguage platform more and more, and many are now convinced that the APIs are the important part of the JVM, not Java.
The enterprise space is seeing something similar. Many years ago, Sun created the J2EE specification so that enterprise developers would have a common platform to write to. Although the write-once-run-anywhere promise was never quite as solid with J2EE as it was with the standard Java runtime, having a common set of capabilities and paradigms greatly eased enterprise development. However, J2EE (in particular, EJB) was soon seen to be too complicated for many applications, and this led to the rise of many standalone libraries such as Struts, Spring, Seam and Hibernate. The increasing adoption of Agile methodologies also exposed limitations in testing J2EE applications, which further accelerated the adoption of testing-friendly standalone libraries.
I believe the recent release of the SpringSource Application Platform is a sign of things to come. With the open-sourcing of the JDK, the shift to finding new Java advances in the community, and the loss of momentum (and developers) from Sun, the single-voice model of Java development has passed. I believe that we are now entering a more Linux-like model of development, with many projects and technologies fighting it out in the community. I suspect that the amount of forking will be less than it was with Linux, since most of us in the Java community recognize the major benefits that write-once-run-anywhere brings. However, don't be surprised to see several JDks available for download in the future, including:
- A very dynamic-language-friendly JVM with things like invokedynamic in it
- A JVM with deprecated and rarely-used components stripped out (e.g. CORBA and AWT)
- An OSGi-based modular JVM which is hooked into a bundle repository
I also expect to see SCA and OSGi become the two major components of next-generation application servers, and I have to admit that from what I read about Infiniflow I believe that it has an awful lot of potential. I could even see them being gobbled up by an application server vendor and used as the basis for a new WebSphere, WebLogic or SpringSource Application Platform server.
19 Comments | 
Reader Comments (19)
I also think that the success of the MLVM will be one of the major things which inspires further forking of the OpenJDK - why not do the same with the GUI components by integrating something like SWT, or testing how a truly modular JVM works when OSGi is slotted in under the covers?
On the last paragraph, that shift is already over. Weblogic and Websphere are both now based in part (and increasingly in whole) on an OSGi microkernel. The BEA tooling is all based on Eclipse/OSGi.
And BEA, IBM, and Oracle have all been moving towards SCA as a wiring metadata definition. I'm unconvinced that the last will succeed enough that it will matter in the face of other developments in the industry.
Facts aren't adding up.
Here's the actual story. It's not as sellacious as your blog post, though:
The reason there's no JDK7 umbrella JSR is because Danny Coward and crew are waiting for some changes to the Java Community Process. It is likely that it won't take the umbrella JSR 18 months.
The reason there's not been that much movement by sun on JDK7 is because JDK6u10 has been taking up all that time. The language hasn't changed, which is why its still JDK6, but most other projects would give that release a major new release number. In other words, you could say a new major release of the JDK has just been released, and now work will commence on the next major release: JDK7.
In the mean time the community has been happily hacking away at many different java (the language) suggestions. Most major suggestions for Java (the language) v7 exist as javac hacks. All major closure proposals have their own custom javac, for example. Once the feature set is decided, you could go straight to the bug fixing stage.
Finally, 'ruby' as replacement? No. The reason scala is being pegged is partly because scala is static, partly because scala is fast, and partly because scala actually integrates with the jdk; scala-generated classes can usually act almost entirely like a java class. Contrast this to e.g. JRuby or Jython and you'd really have to write some pretty awkward Ruby or Python code for the endproduct to look and feel like a java class. There's no upgrade path.
For the Consumer JRE/Java Kernel/Update N/Update 10 release I can see identifying that as a 6.1 or a 6.5 release as a lot of effort has gone into it. However, it's not going to have any new Java language features. From what I understand, it's basically a refactoring of the JDK internals -- a major refactoring, I agree, but a refactoring nonetheless.
Although it's possible that the Java 7 development process will be shorter than 18 months, I'd lean towards no. I also think it is overly optimistic to say that Java 7's almost complete except for bugfixes - there's that minor matter of integration of these numerous new components, and some of them (e.g. JSR 277) are nowhere near complete.
Finally, I'd personally tend to agree that Scala is a much more likely successor language to Java than Ruby is. However, a Ruby programmer is probably not trying to make their Ruby code look like Java code - they are probably trying to use the Java APIs in a Ruby-like manner. Look at how Swing development is done in JRuby as an example of where Ruby can get some things done way faster than Java can on Java's APIs.
I think if you read the Java news sites - InfoQ, TSS, etc. you tend to get a false perspective on what is really going on because these sites all want to track news, and the fact that Java remains one of the most widely used programming languages, as it has done for much of its 13 or so year history, is not that newsworthy.
I don't really agree with this post for a number of more specific reasons. The "facts aren't adding up" post below covers my thoughts on your SE6-SE7 comments, although I suspect that open sourcing Java probably also took up a lot more time then people realize and Java may have temporarily lost some momentum as a result. Time will tell if this a lasting problem but I don't think it will be.
RE your two other main points:1. When i think of scripting languages on the JVM I think of Jyhton, JRuby, Groovy and JFXScript. Of these three of the four are pretty much Sun led projects now. Moreover most of the important groundwork here - things like invokedynamic and the Da Vinci experiments are also Sun led.2. . Java EE: I think you probably underestimate just how much software is written with Java EE and not with Spring. I don't think SpirngSource do though. Whilst its quite hard to read what SpringSource's real plans are, and I have no insider knowledge, I'll risk a guess. Rod has said a lot in praise of EE6 profiles, and is a member of the EG for EE6. I think when the EE6 web profile comes out they'll move to support it and basically have an entry level EE product. Which is nice, and something most people who write enterprise Java apps for a living have probably thought of at some point, but is hardly earth shattering.
Finally in terms of the "successor to Java" thing I don't think the successor to Java will be on the JVM. I think it may well be something that looks a lot like Java, and runs on something not unlike the JVM, but I can't see any particularly compelling reason for one JVM language to take over from another. Regardless of whether I'm right on this, I doubt any significant transition will happen any time soon either. Java has turned out, so far, to be quite adaptable, and the work on fork/join and other large scale core research suggests that it probably will continue to be so for a while yet.
You mention Sun's leading of Jython, JRuby and Java FX Script - of those, one is still a very new language and one is a very recent acquisition. Only JRuby has been a Sun project for an appreciable period of time, and I can't help but get the feeling that Sun's trying to throw money around in an attempt to regain control of Java's direction. Also, both JSR 292/invokedynamic and MLVM are led by John Rose in particular - not much stands in the way of both of those becoming Google-led, IBM-led or Adobe-led if John Rose were to go elsewhere.
It is very true that there is an awful lot of software written for Java EE - it is also true that there is an awful lot of software written for Java 1.4, but I doubt you'd say that Java 1.4 is the leading the way towards the future of Java. My point (again) is that the leadership of Java is slipping away from Sun and is becoming more ambiguous - Java EE is now just one of a few common options for enterprise Java development, and I believe that someone who is looking at starting a new app today would not consider Java EE a slam-dunk choice as they may have a few years ago.
The reason that I believe that the JVM will outlive Java-the-language is because of what I've heard from people I've talked to. A common point which is brought up is that Java has succeeded wildly at being installed on a ton of machines. It would be crazy to throw away that giant installed user base and that rich set of APIs and start from scratch - this is why there is such appeal in running on the JVM. I'm not silly enough to think that the JVM will be the last VM-based language ever written or deployed - that would be insane. However, I think that the JVM still has many good years left in it, and that we will see it evolve in ways we could not have anticipated as the community grabs onto it and starts doing what they want.
http://synodinos.net/2008/03/14/rod-johnson-compares-jcp-with-ussr-commissar-during-qcon-talk/
Nice post.Thank you for taking the time to publish this information very useful
Christian Louboutin D'orsay
Christian Louboutin D'orsay
[url=http://www.christianlouboutinshoesale.org/ ]Christian Louboutin D'orsay[/url]
[url="http://www.christianlouboutinshoesale.org/ " title="Christian Louboutin D'orsay"]Christian Louboutin D'orsay[/url]
Perhaps this is one of the most interesting blogs that I have ever seen. Interesting article, Funny comment. Keep it up!
Christian Louboutin Hot Red
Christian Louboutin Hot Red
[url=http://www.christianlouboutinshoesale.org/ ]Christian Louboutin Hot Red[/url]
[url="http://www.christianlouboutinshoesale.org/ " title="Christian Louboutin Hot Red"]Christian Louboutin Hot Red[/url]
freelance writer
You mention Sun's leading of Jython, JRuby and Java FX Script - of those, one is still a very new language and one is a very recent acquisition. Only JRuby has been a Sun project for an appreciable period of time, and I can't help but get the feeling that Sun's trying to throw money around in an attempt to regain control of Java's direction. Also, both JSR 292/invokedynamic and MLVM are led by John Rose in particular - not much stands in the way of both of those becoming Google-led, IBM-led or Adobe-led if John Rose were to go elsewhere.
Its great to see that people are sharing quite profitable information with each other nd now we can move our selves to a new era.
freelance writer
Christmas is coming, combine with great happiness and long-awaited reunion…This is a festival for all of us to enjoy our life, to appreciate this year’s harvest and growth, to share all the happiness and bitters with our family, our friends. Let`s write that letter we thought of writing "one of these days", today. In order to share this happiest time in a year, our website takes the role as Santa to send you the most sincere blessing and the most meaningful gift…Come to dvdbestonline to collect what you want, and we’ll send them to your hands with totally free shipping.
Bones on dvd
At the same time, the investigation<h1>Coach Outlet</h1> that led the United States to <h1>Coach Outlet</h1>the bank, the Lebanese Canadian<h1>Chanel Handbags</h1> Bank, provides new insights <h1>Coach Outlet</h1>into the murky sources of<h1>Coach Outlet</h1> Hezbollah’s money. While law enforcement <h1>Chanel Bags</h1>agencies around the world <h1>Coach Factory Outlet</h1>have long believed that <h1>Coach Outlet Online</h1>Hezbollah is a passive beneficiary <h1>Coach Outlet</h1>of contributions from loyalists <h1>Coach Outlet</h1>abroad involved in drug trafficking <h1>Coach Outlet Online</h1>and a grab bag of other<h1>Louis Vuitton Bags</h1> criminal enterprises, intelligence <h1>Coach Factory Outlet</h1>from several countries points <h1>Louis Vuitton Bags</h1>to the direct involvement of <h1>Coach Factory Store</h1>high-level Hezbollah officials <h1>Coach Outlet</h1>in the South American cocaine<h1>Coach Factory Outlet</h1> trade.One agent involved in the<h1>Coach Outlet Store</h1> investigation compared Hezbollah <h1>Coach Factory Outlet</h1>to the Mafia, saying, “They <h1>Coach Outlet</h1>operate like the Gambinos on <h1>Chanel Bags</h1>steroids.”On Tuesday, federal <h1>Chanel Bags</h1>prosecutors in Virginia announced <h1>Louis Vuitton</h1>the indictment of the man <h1>Coach Factory Store</h1>at the center of the Lebanese<h1>Chanel Handbags</h1> Canadian Bank case, charging <h1>Coach Outlet</h1>that he had trafficked drugs <h1>Chanel Bags</h1>and laundered money not only <h1>Louis Vuitton</h1>for Colombian cartels, but also for<h1>Coach Factory Online</h1> the murderous Mexican gang <h1>Coach Outlet</h1>Los Zetas.The revelations about <h1>Chanel Bags</h1>Hezbollah and the Lebanese Canadian<h1>Coach Outlet</h1> Bank reflect the changing <h1>Louis Vuitton Bags</h1>political and military dynamics<h1>Coach Factory Outlet</h1> of Lebanon and the Middle East. <h1>Chanel Bags</h1>American intelligence analysts believe<h1>Coach Factory</h1> that for years Hezbollah
<h1>discount designer bags</h1> cheap and fashion
<h1>designer inspired handbags</h1> Acclaimed
<h1>air max 2011</h1> high quality
<h1>nike shox tl3</h1> wholesale nike
<h1>women puma shoes</h1> Particular style
<h1>air max tn</h1> Different
<h1>puma shoes</h1> Very famous
<h1>puma shoes online</h1> Popular brands
<h1>women timberland boots</h1> A great feeling
<h1>wholesale gucci shoes</h1> Online Sales