Why doesn't Sun really respect Java?
There was a time when Java was the darling of the technology industry. It had everything going for it--technically advanced, relatively easy to use, and it held the magical promise of "write-once, run-anywhere."
But, over the last two years or so (seemingly ever since Sun changed it's stock ticker to JAVA), the language has become boring and moribund. Not that programming languages are such a thrill ride, but Java had a level of panache well beyond the norm.
Somehow Java has become really boring. People don't even argue about it anymore. Once thriving sites like TheServerSide don't have the excitement or vitriol that they did in the past. Based on some quick interviews I did, Java guys are all over the map as to why the excitement is gone, running the gamut from JSR bureaucracy, to the focus on things like JavaFX, to the changes in Java EE 6 that most developers didn't ask for and do nothing to support new paradigms like Web apps or cloud computing.
Sun has effectively lost the battle for the cloud to virtualization, which boggles the mind considering the enormous arsenal of servers, storage, and software that Sun has at its disposal to create a differentiated cloud offering for all of the enterprise Java shops. I remain of the opinion that Java should be the dominant platform for the cloud.
Much of the feedback I got from developer friends was related to Sun's lack of connection to the developer community, which I eventually distilled to mean a lack of leadership--not specifically on the developer side, which is quite strong, but from a corporate angle and a human face defining software leadership. The recent departure of MySQL executives certainly didn't help.
It's hard to tell if this is just a market reaction to Sun's downturn or simply part of the evolution of Java itself, but Sun appears to have proven that innovation doesn't matter when no one cares. The best, most innovative open-source products will sit on the proverbial shelf if developers don't care. With the exception of the growth of MySQL there doesn't appear to be a lot of momentum behind Sun's recent software efforts.
Tuesday's announcement of the Glassfish Portfolio illustrates how Sun is once again missing the point. Glassfish Portfolio is a group of applications that already exist in both open-source and proprietary offerings with clear leaders on both sides. What Sun is offering is not new, not terribly innovative, and sadly for their developers, rather pointless.
As opposed to partnering with the dominant open source Java frameworks or applications (Spring or JBoss for example), Sun puts out another piece of software that no one cares about. There is a reason why Spring has been downloaded millions of times. Sun should be embracing frameworks like Spring that people want to use instead of re-inventing the wheel again and again.
I find this depressing more than anything else. Sun is an important company and I would argue that Java is the clear leader in the enterprise. Something has to give, and its not more meaningless open source code out in the universe.
A few months back I questioned "What if Sun fails with open source" I never would have expected to see Sun fail with Java.
Dave Rosenberg dishes up "Software, Interrupted" with nearly 15 years of technology and marketing experience that spans from Bell Labs to multiple start-up IPOs to open-source enterprise software companies. He is co-founder of MuleSource and currently serves as the general manager of Hardy Way. He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure. You can contact Dave via e-mail at softwareinterrupted@gmail.com or follow him on Twitter @daveofdoom. 





Same with JavaOS, Java Media Framework, Java Advanced Imaging API, and many others. I sure someone else could go on about the server side stuff. It's true they've released a lot to open source, but the open source community doesn't seem to pick up these things either. Many of the projects latest advancements were in 06 or earlier. Just poof gone!
So, why would I develop in JavaFX? For all I know Sun is just gonna drop development and support for it tomorrow. You really can't trust any code from Sun based on Java at this point. I think I'd rather use Mono or if I was going to use Java I'd stick to open source frameworks that at least stand a chance of being maintained at some time in future.
From where I sit, Java adoption and momentum is growing. As is the revenue Sun derives from it.
The stupid thing about your comment is that I support Java completely.
Glassfish is very innovative, the point I was trying to make is that not enough people care due to the mixed messages. If Sun can match execution to the technology then there problems are solved (at least in theory.)
I've said many times that Java's best feature is that it lets mediocre programmers be productive and put bread on their table, where other programming ecosystems require people to actually know what they're doing. Java's rich libraries, template systems, frameworks, etc. all allow the mediocre to do things that otherwise they couldn't. It won't be the best code there is, but it'll be good enough to keep them employed (and some times bad enough to give them job security).
As a developer, you don't engage in Java unless it's work-related. The fun development projects are now on the iPhone (and iPhone hacking), Python and Google App Engine, functional programming, and a cartload of other things. In Java, fun things are NOT coming from Sun: Wicket, Mule (heh), Terracotta, etc. It's hard to be passionate about Java when Sun goes out of its way to make the language, the JCP, its projects, etc. so... uninspiring.
Perhaps Sun thought that JavaFX would "energize the base" -- given Flash's (and even Silverlight's) mind and market shares, I never quite saw the point.
As a developer I'd like to see an effort to streamline the Java language itself, remove silly things like primitives from it, and add other modern (and not so modern) features to the language itself. Not as syntactic sugar like with generics, autoboxing conversions, and so on. Actual changes to how Java does things.
As someone who manages very large Java projects, I'd like to see less bureaucracy in the JCP, and more willingness by the community to adopt non-JCP technologies if they work. While JCP argues to death about some specification, upstarts like the Apache Foundation projects show up and come up with better ways of doing things. Apache projects are focused on getting things done. JCP is focused on keeping the corporate members happy.
Get it done. Do it fast. Make it fun. Those are the things I'd like to see from Sun regarding Java... and that I'm unlikely to see any time soon.
Maybe we should send Sun a copy of Tracy Kidder's "The Soul of a New Machine" for both inspiration and as a cautionary tale.
Great post, man!
Eugene
Open-source evangelist
Scalable programming on the cloud made easy:
Developing with Google App Engine by Eugene Ciurana
Get it from Amazon: http://is.gd/hP9M
ISBN: 978-1-4302-1831-9
It's the most exciting novel of the decade and Amazon best-seller Dec. 2007: http://www.teslatestament.com by Eugene Ciurana
ISBN: 1-4116-7317-4 - BISAC: FIC031000
- by sanjayb February 15, 2009 3:09 PM PST
- As a long time Java developer, I find that programming in the language is quite dull. The past few years, nothing exciting has come from the Java platform. Back in the day, we would use Struts, JSP's, and servlets to develop websites. It was exciting to play around with taglib's to see what you could use. And if it wasn't there you could always create a custom taglib. These days Java seems to sit only on the server end. Websites are being developed in other more "cool" languages. All our desktop applications are being developed with .NET, C#, etc, etc.
- Like this Reply to this comment
-
(15 Comments)All the development buzz these days seems to come from Google, Flash, iPhone applications, etc, etc. I know Java is trying to change things with Java FX. Looks cool but I am not sure if it will take off. Maybe it's a case of being too late.