The keynote was given by Adam Messinger, VP of Development in the Fusion Middleware Group (basically In charge of JSE), and Steve Harris, Senior VP of Application Server Development (basically in charge of JEE). Overall I was very impressed with this keynote. It was not sales-driven, and the execs seemed to actually care.
Below are the highlights from said speech (in bold), with my comments beside them. The talk started off the both Steve and Adam speaking openly about the whole Java ecosystem since the Oracle takeover.
- Oracle admitted to their follies - Basically they point blankly they admitted that they made some mistakes in the re-branding, turmoil, and lack of communication that resulted after their acquisition of Sun. They also openly took some of the blame for the FUD that resulted from this. This was entirely refreshing to see.
- Guaranteed us that they are listening - With the push through the JCP hold-ups on Java 7, many people may have their doubts, but after listening to a panel on that whole issue, I have come away that it was necessary and Oracle was listening when we started to complain about stagnation. With some of the additional features coming out in the next 2 releases of Java, I do think they are listening, but I a still a little concerned about their ability to deliver.
- Highest Priority: Keep it Vibrant - I think this is key and I think Oracle realized that the community was starting to die a slow death due to the stagnation that was beginning to happen with Java 6 (still a good platform, IMO, but there are features that we have been waiting for for a very long time that will improve it).
- Increase investment in the platform - Oracle is not going to abandon Java. I totally believe this, considering the public information around what they are doing with their Fusion Middleware, Weblogic and other products.
- Continue to be free & open (Open JDK) - They are going to continue the OpenJDK project with it being the reference implementations. I am not really sure how to take this one, since I have seen Oracle contribute to Open-source in the past (EclipseLink), but have also seen them be greedy bastards (Unbreakable Linux). Possibly I am misinformed, but I am cautiously optimistic.
- Improve developer support - Um yeah...This one I'll believe when I see. Java documentation has become annoyingly hard to find, the sites have become retardedly hard to navigate ever since Oracle integrated them to Technet. I am not going to even comment on phone support (other than to say I have had few good experiences)...Oracle as a whole really needs to mature in this arena...I really think they could partner with an information giant like Google, and make some strong head-way here. Instead they are suing Google for Dalvik...
- JVM Strategy: Hotspot and JRockit Convergence - This I think I like, though it will be interesting. The Sun JVM currently ships with two modes: standard and server. The standard mode is tuned for desktop style applications, that have a relatively short runtime and then shut-down. The server mode is geared towards those long running applications that get deployed and undeployed without shutting down the JVM. Jrockit is even more tuned for the the latter. As long as this convergence does not take away or negatively impact both modes, I think this makes sense. I typically use the standard JDK for development (even on server side apps) because of the way it is tuned, and then deploy on JRockit. If more features like JRockit Mission Control come to the base JDK, that is also a win!
- This convergence is not going to happen over-night - Oracle will be iteratively merging the JVMs until they are complete. The first part has been completed and will ship with Java 7.
- Making Java more scalable - This is a good thing overall, and I think if the cloud actually takes off, that this will be a huge boon to Java. This also fits into things like the Exalogic stuff that Oracle is starting to provide.
- Multi-core/parallel programming - Along the same lines as scaling, but I think it is definately important now that CPU speeds have pretty much plateaued, and to get more horsepower, more and more things (even phones) are becoming more parallel. I do think that we as a community also need to do our part and stop writing such bloated software.
- Take a more long-term (20+ years) approach - I think this shows that Oracle does want Java to stick around, and that they do want to focus on it being the only real choice for a business programming language. However, I am a little tentative in my acceptance of this one, because I really don't want to see Java become the Debian of programming languages.
- Let ideas mature in more experimental languages (Scala, Clojure) - In the same vein as above, I am cautious on this one. I think there is a fine balancing act that needs to happen here, with Java waiting long enough to have ideas proven, but quick enough in adoption that the language doesn't become stagnant.
- Backward compatibility - Java has usually been pretty good on this front, however, I do hope that it does not become like Windows or Crystal Reports, where it has soo much cruft from backwards compatibility, that it starts to cause other issues.
- Permgen is going away!!! - pardon my french, but thank fucking goodness...Permgen was always a bit of an experiment in my opinion, and while it had some advantages, anyone who ever got a PermGen error, knows what sort of black-magic and voodoo had to happen to make your application work without major re-designs. Hopefully, we will never have to encounter that foolishness again.
- Modularization
- Project Lambda (closures AKA anonymous inner class done right)
- Annotations on Java types (JSR 308),
- Extensions of project Coin
Near the end of his part, Adam speculated on what may be in JSE 9 and beyond. He emphasized that this is more of a wishlist at the moment, and that Oracle has not even really begun to talk about it yet. Also, he does want the Java communities feedback, so keep blogging, get involved with the JCP (more on this in a future blog), and let's make this the best platform to write code on!!
- back-to-basics - write once, run anywhere, hardware virtualization, sharing types between languages - I still haven't drank the alternate languages on the JVM kool-aid yet, but I guess the last point will be welcome for those who have. I am cautiously excited to see what comes out of the HW virtualization enhancements, though I am a little concerned because that is an area that hasn't standardized yet (we have VMWare, Xen, Oracle's offering, Microsoft's, etc), although if they focus purely on being able to interface with the virtualization support in the CPUs it may not be bad.
- Improved interop with non-Java, native languages (JNI re-work) - If you have ever worked with JNI, I think any change is a good change!!
- Improved data integration, ALA .NET - it is a little hard to read into this one (mostly because it has been a while since I worked with .NET extensively), but I am guessing this is for things like better data-bound controls, easier DB querying, etc.
- Improved device support (bluetooth?) - More access to hardware services will only strengthen Java in my opinion.
- Re-invigorate Java FX - My guess this targeted directly at Adobe and Silverlight...if this happens, maybe I'll finally be able to get netflix on Linux!
- Seamless DOM access between HTML5 & Java
- Browser plug-in done right
The last section Adam spoke of was Mobile Java:
- Better Integration of Web tech - I think being able to use a single set of underlying tech between devices is definitely a good thing.
- xHTML support - Does anyone even remember WAP?
- phones from low-end feature phones to smartphones - Are they wanting to take on Android?
- Solutions for Content management - I hope this is not another word for DRM
Adam's final message was to get involved in Open JDK, because that is the best place to influence and help the platform. To me this will include:
- grabbing the betas and playing with them.
- filing bugs
- Commenting on JSRs
- sharing your experiences through social media
In the next entry, I will go over what was said about Java Enterprise Edition.
- The Munky
No comments:
Post a Comment