Hackers love new platforms and programming languages. Some developers will always argue that the world is full of enough languages already. Nonetheless, from Ruby to Groovy to Scala, to less mature efforts such as Google's Go or Red Hat's Ceylon, new and promising languages usually find a willing and enthusiastic audience among the basement coders. Hackers thrive on change and experimentation.
Enterprise developers, not so much -- new and experimental languages seldom gain much traction in the corporate world, mostly for good reason. Enterprise developers crave stability, constancy, and reliability in their tools. They want platforms that are mature, secure, and well-supported, with clear, well-defined road maps -- platforms like Java and .Net. Right?
[ Track the latest Java trends in the JavaWorld Enterprise Java newsletter and at JavaWorld.com. | Keep up on the key Microsoft developments with the Technology: Microsoft newsletter. | And get software development news and insights from InfoWorld's Developer World newsletter. ]
If that's the case, little wonder the Java and .Net ecosystems are both in such disarray. Far from being satisfied with the status quo, enterprise developers worry that their platforms of choice are lagging behind, burdened by their own histories. Leadership from the top is lacking. Too many new initiatives seem like false starts, while old ideas are debated endlessly yet never implemented. For enterprise developers, the unthinkable has happened: They're working with platforms whose futures seem uncertain. How long will they sit still for it?
You call this community?
In the Java camp, the Java Community Process (JCP) has approved Java SE 7, the first major revision to the core platform in five years. For some developers, the vote came not a moment too soon. Still others say the new version doesn't go far enough to bring Java up to date with modern language features.
For example, one vocal camp has long clamored for support for lambda expressions, also known as closures. Although Java SE 7 was initially expected to include this feature, it has since been pushed back to Java SE 8, which isn't expected to ship until late 2012.
On the other hand, some developers say they don't relish the idea of moving to a new version of Java SE if this transition will go like the last one. First Sun and now Oracle have issued no fewer than 26 updates to Java SE 6 since it was released, mostly to address security vulnerabilities and performance issues.
But by far the greatest number of complaints involve the Java Community Process (JCP), the consortium-based effort to guide development of the platform. Some have accused the JCP of being a secretive cabal, a charge JCP leaders deny. Still, it's hard to overlook the Oracle's growing influence. Several prominent members of the Java SE Executive Committee have resigned in the past year after finding themselves at odds with the database giant's positions, including the Apache Software Foundation. Former member Tim Peierls wrote in his blog, "One can only conclude that the SE/EE EC is never going to be more than a rubber stamp for Oracle."
Even James Gosling, the "father of Java," has distanced himself from the JCP, saying, "It's just gotten complicated." Mind you, that may be no coincidence. Gosling took a job with Google in March after leaving Oracle last year, and Google is currently embroiled in a lawsuit with Oracle over Java patents. As a result, Google was the only "no" vote in the final Java SE 7 deliberation, as it has been in several other recent votes.