After the Joel Spolsky presentation that launched IJTC
there was a panel discussion which meant to explore all the future directions that Java as a platform might take. The participants were talking about the future in a kind of sad way and the discussion toured out to be mainly a never-ending stream of complaints. Basically people were concerned about:
- Java 6 is not implemented on Leopard
- mobile phone specs on the vendors web sites don't list Java as a feature, something like Java ready sticker
- lack of tools
- diversity of frameworks and their life-span uncertainty
- growing complexity of the language itself
- dynamic languages that from their perspective are taking over Java current and future believers
One of the listeners asked how to anticipate the life-span of a given framework. The answer was that it's impossible, that's fine, and that his company needs to be more agile. Excuse me? If you build a house you don't want to change its foundation too often. As far as I know Microsoft
provides 10 years of support for every framework they release. The next interesting statement was that Java is developing itself quickly because it's community driven. I think that this is not true and the best example is C#. The first version of it was way behind Java at that time it was released. Nowadays C# is way ahead of Java and the main reason is that there are a few smart guys at Microsoft
who listen to developers but at the same time they are able to make quick decisions when it's needed. I love diversity but it looks like Java is going in so many different directions that even its believers are kind of lost. What is more, exploring (too)many directions at the same time always affects your velocity and you always have to find the right balance. I can not recall a single statement which would mention a framework/solution/approach which is a breakthrough and it will make the developers life much easier.
I might be wrong because I don't follow the Java world on daily basis but my overall impression was that both audience and guests were not really happy what they came up with. But there is a good chance that they weren't actually upset but simply tired :) because of the fact that the discussion finished around 10 pm. I hope that a few pints after the launch let them recharge the batteries because the conference itself looks interesting.
Pabel Just curious any idea about the number of participants?ReplyDelete
100-200 I thinkReplyDelete
Barry here from IrishDev.com - as the organiser of the conference I'd like to advise that there were 353 delegates who attended the 23 lectures at the three day Irish Java Technology Conference ( http://ijtc.firstport.ie )
This makes the IJTC 2007 the second largest software community event in Ireland - the biggest was the Irish Microsoft Technology Conference ( http:imtc.firstport.ie ) that IrishDev.com co-organised with the Microsoft Technology User Groups http://www.mtug.ie in June where there were over 450 attendees over the event.
Please visit the IJTC website over the coming days to download presentations and show reports.
I attended the IJTC conference and the discussion panel and I must say that I disagree with your analyses.
To your comment about ongoing support for frameworks. Sun guarantees 100% backwards compatibility and support for the J2EE frameworks. In fact J2EE was first launched back in 1999 and now 8 years later, applications written in that version of J2EE back then still work in modern JEE 5 application servers.
Where the problem lies is that due to the openness of Java, many open source frameworks have appeared, such as Spring, Hibernate, Webworks, Grails, etc. outside of J2EE and many of these frameworks have really taken off and are being used in many companies and they really do make the developers life easier.
However, because these frameworks haven't been created by Sun, then Sun (or IBM, BEA, etc.) can't guarantee that they will still be around in 10 years time, that is up to the developers of the open source project.
Of course since these projects are open source, they will never really disappear, you can always download the source yourself and modify it yourself. But the problems aren't really about support they are really:
1) Long term application support.
If I write an application in framework A, 10 years from now will I still be able to hire someone who can or is interested to program in framework A, to support the application.
2) Investing my time in learning a new framework.
If as a developer learn framework A and not B or C, will I still be able to find work in 10 years time in framework A or will I have to go learn framework D, E.
Really it isn't a problem of support, it is more a problem of the ongoing future popularity of a framework and the quick pace of software development innovation.
This isn't just a problem with Java, the exact same problem exists for .NET. Will VB.NET still be popular in 10 years from now, what about IronPython?
The partial solution I see for this problem is that going forward the cutting edge development will be done in the open source world and then when a particular idea or framework proves to be very popular in the open source world, it will get folded into the JEE spec through the JCP process.
An example of this is the POJO database persistence ideas made popular in the opensource Hibernate and TopLink projects, getting folded into the offical JEE 5 spec.
Once in the JEE spec, the big vendors (Sun, IBM, BEA, etc.) can guarantee future on going support.
So basically if you want to play with cutting edge technology you use the java frameworks. If you are a conservative bank and want ongoing long term support for your apps, you stick to the JEE specs.
But in summary, if you stuck around for the rest of the conference, you would have actually found that there is a great deal of excitement and innovation going on in the Java world.
Actually my name is Pawel :). Thanks for your comment and I agree with you (almost) completely. Microsoft incorporates in new versions of C# and .NET framework ideas that come from many sources and some of them are Open Source projects. The only thing I don't agree on is your statement about popularity. In Microsoft world it doesn't matter if something is popular or not. You get 10 years of support no matter what and that's what is important from business perspective. Don't get wrong I'm suing log4net, NHiberante, NAnt, NUnit, RhinoMocks and ClassTester on daily basis but I try to use them in a way that even if they get abandoned then the overall system won't be significantly affected. I don't have to do this with WCF, WF and LINQ because I know that they will be around for at least 10 years and in 10 years my system probably will be replaced anyway. Microsoft might disappear earlier but I suppose that we both don't really consider this as a valid case :).ReplyDelete
I appreciate innovation movement that comes from the Java world. I would be a hypocrite if I didn't because I use log4net that is based on log4j, NHibernate that is based on Hibernate, etc. All I'm saying is that there are so many options that my friends who have been in Java world for years have problem to define what the mainstream is.
"mobile phone specs on the vendors web sites don't list Java as a feature, something like Java ready sticker lack of tools "ReplyDelete
As a mobile phone addict, I notice this too, however, even if some newer platform is taking over java on PCs, as long as mobile phones are around, we can expect Java to be here for quite a while.