It’s been a month since we released the Java EE Productivity Report 2011 and it’s made a lot of noise since then. Some people called us fakes, some loved the data and the results, some accused us of blatant commercialism. We listened to everyone and reached out to those who were silent. As a result we have opinions from representatives of most communities affected by the report. We decided that those voices need to be heard to help put the data in a real context.
Let’s start by those who weren’t too happy with the data. Joe Ottinger, ex-Chief Editor of TheServerSide had the following to say:
Surveys like this are always hard to do, because the results can be so subjective and because the amount of data required to do a survey is so massive. That said, you can definitely see useful stuff here – the data points collected offer a coarse view of things in use, and the questions asked were useful. Where this survey really shines is in highlighting JRebel’s market focus – and it’s scary to think about time wasted in deployment, something most people know is there but when painted in black and white like this… wow. Just wow.
You don’t say! It’s a mystery why people continue to spend 5 weeks a year on redeployment. However I considered it a bit too toothless for him, so after some goading I got the following blunter answer:
I was interested in seeing the productivity survey – it definitely has good buzzwords for interest. However, the survey itself… look, the survey used a lot of exclusions it shouldn’t have (“what APIs do you use?” and then “what frameworks do you use,” which misses the point that many frameworks are APIs in and of themselves.) What I’d like to see is something that acknowledged a greater percentage of *everything* – as in, a survey question and answer set that covered at least 90% of the development situations out there (including the “I don’t develop this kind of app” situation.) The JRebel stuff itself was actually more interesting. The hook itself was lacking something.
Although he didn’t find the survey too useful I think it’s different for the majority of folks. There are some improvements we plan to do next year, but generally the survey gave a nice insight into the Java EE layout. However that’s my opinion and his opinion, so make up your own :)
Although I didn’t think this chart would generate any controversy, Jason van Zyl of the Maven fame had the following to say:
With a sample size of 1027 the variance from what we see is high, but anyone we see is biased toward Maven. We see most enterprise users have switched to Maven. We know in talking with the SpringSource support staff that the use of Spring in the enterprise correlates almost 1:1 with Maven use. What we typically see from surveys is 60-70%.
Apparently Maven is the new Ant, though in the report they are still neck-and-neck.
IDEs are still fighting for dominance, but unfortunately Oracle declined to comment on the NetBeans share, with only this from Duncan Mills:
I noticed in your recent posting (Java EE Productivity Report 2011). That you refer to JDeveloper as Oracle’s “(ex)flagship IDE”. This is an incorrect assumption. JDeveloper is Oracle’s strategic IDE for it’s customers and so is no no way “ex” or de-emphasized. NetBeans remains as the strategic Open Source IDE for non-aligned Java users who are not using Oracle technology (apart from Java of course)
Three flagships in that armada.
Ian Skerett of the Eclipse Foundation did a write-up on the report including the following:
It is great to see Eclipse continues to do well with 65% respondents using Eclipse and if you include MyEclipse that bring the total Eclipse user base to 69%. I was surprised to see IntelliJ in second place at 22%, well ahead of NetBeans at 12%. I actually thought NetBeans was doing better but it might just reflect a survey bias.
Although I didn’t get any comments from the NetBeans team, Geertjan Wielenga did mention that our survey may be biased geographically as we sent an email to the JavaOne attendees asking them to fill in the survey. Some bias is always present and it’s impossible to measure, so it’s possible that actual NetBeans share around the world is larger than this.
We also got a comment from Todd Williams of Genuitec:
In a marketplace overflowing with free tooling, we’re proud to be the top commercial-only offering delineated in the survey. Placing ahead of tooling supported by leading global corporations is a huge compliment to our MyEclipse development team.
As a fellow commercial-only vendor I sympathize wholeheartedly with that statement. Of course IntelliJ IDEA has also been commercial-only until last year, but the statement is technically correct :)
Unfortunately we didn’t get much feedback to the container chart. I would really have liked to hear from the GlassFish folk, but Oracle doesn’t allow unsanctioned comments and we didn’t get anything back from the PR either (not that it’d be too interesting).
The only write-up we got was from Rich Sharples of JBoss:
Below is the 2009 / 2010 Container Popularity chart. Note the significant decline of Websphere and Weblogic and the growth in leaner, Open Source containers like JBoss, Jetty and Tomcat. Glassfish bucked this trend – likely due to uncertainty about it’s future under it’s new owner Oracle. JBoss showed only a little growth – I’ll put this down to a fairly slow year in 2010. But 2011 is going to be very, very different. We already have a Java EE 6 Web Profile container (released last week) and JBoss AS 7 is taking shape pretty rapidly. With our increased attention to slimming the footprint and increasing the speed of adopting new technology and standards like Java EE 6 — my prediction is that JBoss will catch or overtake Tomcat in the next year.
A bold prediction and a great write-up.
The framework chart was probably the most controversial. Howard Lewis Ship, the Tapestry king, didn’t waste any time eschewing his disappointment:
Well, I’m disappointed to see Tapestry come up so far down the list. I don’t know if this is the same with other frameworks, but I work with four different shops that are all using Tapestry 5 and none of them are active on the Tapestry mailing list (bar one particular person) or do any evangelizing. I don’t understand why this is … the majority of Tapestry users seem to use it but I have trouble getting them to get the word out in blogs, feeds … or surveys!
Elsewhere, I see Tapestry running more neck-and-neck with Wicket, ahead of Stripes and Play!, but behind Spring MVC and JSF. However, if you look at which framework dominates the scene in terms of active projects and developers, I think you would find it was Struts 1 … all those legacy apps!
That is unfortunate. Wicket folks on the other hand are quite happy with their share of the market as worded by Eelco Hillenius:
We’ve never aggressively been after trying to get a large mind share, though early on we were involved in discussions on web frameworks a lot, which I guess was somewhat similar to actively promoting it. I think Wicket’s team is pretty happy with the share we have, and as far as I know we’re not talking about how we should increase our share etc. To my knowledge, no-one of the team is directly dependent on how well Wicket does for his living anyway.
I am very surprised JSF is doing so well! I don’t get it. I truly believe it’s an horrendous framework, just a very slight ‘improvement’ over Struts (1 or 2, I both don’t like em, which is the case for most model 2 frameworks). I am also surprised GWT isn’t doing better; I’d expected it to be the leading framework by now. Though after having done a few projects with it, I can certainly see a lot of drawbacks personally. I wouldn’t pick it over Wicket, and that hasn’t got anything to do with my involvement.
Jeremy Thomerson had the following to add
I’ve found that in big companies (my market), GWT has buzzworthiness like RoR, but not an actual following other than pet projects. Internal (proprietary) frameworks have the lead, then a mix of Struts / JSP in my informal straw poll of the companies I’ve worked the past few years.
There is a lot of sentiment against JSF going around. In the original report we quoted Matt Raible, who’s known for his independent web framework comparison:
It’s surprising to see that framework popularity closely aligns with the JVM Web Framework Matrix results I calculated at Devoxx. I had Spring MVC and GWT listed as the top JVM Frameworks, along with Ruby on Rails (running on JRuby of course).
While this matrix was the result of much controversy, I think it gives developers a decent technique for choosing a web framework to use. Of course, the way to choose a web framework is to pick a few you like, prototoype with them and see which one satisfies your needs to best. More than anything, make sure the developers on your team like developing with it, as that’s likely to be key in their productivity using it.
I’m surprised to see so many folks using JSF, but I do understand why many companies choose it because it’s such a “safe” choice as a standard. In fact, you could say that Struts 1 and Spring are pseudo standards based on their popularity. However, just because frameworks are popular doesn’t mean you should automatically use them. There’s other great component-based frameworks in Java (GWT, Wicket and Tapestry come to mind) that are easier to use than JSF.
With that in mind we reached out to Edward Burns, JSF spec lead for comment:
I think the JSF numbers reflect the typical environments where EE is used: conservative IT shops where stability and maintainability are prized as much, if not more, than elegance and design purity. Web frameworks solve a problem most enterprises have, and there are many ways to solve the problem. Say what you will about JSF, but I know first hand that it is a real synthesis of the ideas from many respected and intelligent practitioners, over a very long period of time.
I felt it a bit too defensive for the most popular framework out there, so I asked Ed to expand on his opinion. He did more than that and wrote a guest post, challenging other web frameworks to deliver the way JSF does. I think he raises some very interesting questions and would really like to see some reasonable discussion about this.
Nobody seemed to object the second part of the report, which is a bit of a letdown. I was really prepared to fight dirty :) So if you’re still spending 17.5% of time redeploying check out JRebel or take a look at some of the alternatives named in the original report.
That’s all folks, thanks for listening!
Jevgeni Kabanov is the founder and CTO of ZeroTurnaround (www.zeroturnaround.com), a development tools company that focuses on productivity. Jevgeni has been speaking at international conferences for over 5 years, including JavaPolis/Devoxx, JavaZone, JAOO, QCon, TSSJS, JFokus and so on. He also has an active research interest in programming languages, types and virtual machines, publishing several papers on topics ranging from category theoretical notions to typesafe Java DSLs. You can follow Jevgeni on Twitter as @ekabanov.