Abel and Ready

This is the story of Abel, a hard-working, dedicated Java developer. One night, after a hair-pulling coding session with Spring Security, Abel was visited by the Ghost of Java. “Abel, you have been extremely dedicated to me,” said the Ghost, “and for that, you will be rewarded.” “You will be visited by three ladies of the night as a reward for your years of sweat and turmoil hacking me,” the Ghost continued.

Two thoughts quickly raced through Abel’s mind. First, being a Java developer, it meant he would actually have to shave and shower for the next three days. Second, being a dedicated Java developer, three ladies in three nights might be a bigger task than he could handle. But throwing caution to the wind, he told the Ghost of Java he was up to the task, although he mentioned he would have preferred Java 7.

On the first night, a rather mature woman, slightly past her prime, showed up at his door. She was perfectly dressed in a revealing blue dress, but her exquisite makeup was not up to the task of concealing her sags and wrinkles. She said her name was IBM and that she would show Abel a good time. What she lacked in looks she made up for in conversation. She treated Abel like the center of the universe and was always ready with a supportive comment or another glass of expensive champagne. Abel was somewhat satisfied with the happy ending to the evening. It wasn’t spectacular but IBM made sure he knew it was all about him.

Abel’s second night took an abrupt turn for the worse when the next lady walked in. Looking like a crack whore in a thousand-dollar mini skirt, Abel’s new date introduced herself as Oracle. Upon seeing her, Abel’s first reaction was to put his hand on his wallet. Unlike his prior date, Oracle made clear the world revolved around her. She talked all night about the great many tricks she could do for Abel, but all for a price. Abel was thoroughly distracted from the happy ending between trying to keep an eye on his wallet and worrying he might catch something from his new date.

On the third night, Abel hid in his closet, fearing a repeat of the second night. Instead, he was pleasantly surprised when a curvaceous, girl-next-door redhead came in to his room and introduced herself as Microsoft. Although not much for conversation, Microsoft had curves in all the right places and not a wrinkle to be found. Abel got a chuckle over how she liked spinning in the flowers and talking about her MySpace page. The happy ending was very easy; so easy in fact that he wondered how he would ever be satisfied with anything more complicated again.

Abel’s plight is one that many Java developers have run through their head this past week as news made it out that Oracle had purchased Sun Microsystems. IBM, the aging monstrosity it is, would have killed Java through neglect. Oracle, the crack whore of software, will possibly kill Java through trying to monetize (read “nickel and dime”) the development community to death. And then we have Microsoft, with C# 3.5, whispering sweet nothings in developers ears.

So what is a Java developer to do? I fretted over this most the week so that I could be more rational when I put the pen to it. IBM owning Java would not be pleasant due to IBM always managing to be five years behind the technology curve. While that might be popular with large enterprises, it does nothing to please the alpha geeks that made Java what it is today. We can joke about Java being the new Cobol. IBM would have guaranteed it.

About the only worse possibility would be for Oracle to own Java, which is where we find ourselves today. Whereas Sun was an engineering company, Oracle is a sales company, and software developers strongly prefer dealing with the former. I have no doubt that Oracle will try to find a way to monetize Java, to the detriment of the community.

Finally, we have the wildcard Microsoft. C# is not much a leap for a Java developer. And having sampled their forbidden fruit, there is definitely something to be appreciated. Microsoft would be more than happy to offer disenfranchised Java developers a new home.

But ultimately, there is another option, as Rod Johnson pointed out. Through the open source community, Java has grown beyond any one vendor. Yes, Oracle may try and stifle this community through a future Java release under a restrictive license which breaks compatibility with open source Java, but that would only cement their irrelevance.

Oracle’s ownership of Java means that the fate of Java is now in the community’s hands and not a vendor’s. There will not be much love for Oracle with Java developers, so I expect the next version of Java anyone cares about to called JDK 7 and not Java 7. And it will be a true, open effort of dedicated developers and the Java ecosystem they have grown. So as tempting as it is to cave in to C#, I’m going to stick with Java for now and see where we can take this.

5 thoughts on “Abel and Ready”

  1. Plus other languages are starting to show up on the JVM now, which is pretty neat.

    I started on the Java path, then read about C# and was intrigued. A break from IT occurred. I came back to developing websites and started with PHP and now I’m at ruby. The power & ease of ruby is awesome! For a moment there I longed for the strict structure of Java. However the reality of Java’s resource requirement was getting in the way, hosting Java web stacks cost more than ruby or php. This matters a lot when the money going out isn’t coming back in…

    However that argument is slowly going away with Google’s endorsement of Java in App Engine. I went to the Google event held here in Sydney and was really inspired. I’ve installed Eclipse again and played with the basics however there is a fair bit to get upto speed on again… For now I think I’ll stick to ruby 😉

    Enjoyed your story adaptation too by the way.

  2. Thanks, Nicholas. I tend to hop around a bit too. I was playing with Ruby a couple years ago. I really like the syntax and freedom, but since I’m in the “enterprise” space, it was never something that could become a reality. PHP grabs my attention every now and then, and I’m interested to see the final version of 5.3, as it adds a lot of the cool language features I like from Ruby/C#.

    I solved my hosting problem for Java by using . I’m trying to spend more time at the client tier right now with JavaScript and ExtJS. Helps to keep from getting stale. But like a rubber band, I’ll always get pulled back to Java.


  3. How come your not using the ExtJS GWT stuff?

    Even though you are doing client side code your still inside a “proper” debug environment. I had a quick look at GWT too – that is pretty neat if your Java skills are rocking, mine aren’t.

    I really like the ExtJS lib as well. Doing forms “that just work” is great. The only issue with them is I then need my app to follow a strict client/server model. This isn’t a bad thing, as now the API gets written at the same time as the app. It takes a bit of extra effort and this goes a bit against the grain of the framework (merb,rails)

  4. I played with GWT, but I’m not a fan of the codegen “all one language” philosophy. The web is about XHTML, JavaScript and CSS, and I would rather work in those directly than a Java library that magically generates the code.


  5. Nice post, but I still am not comfortable with the Oracle purchase. You and Rod both tell very different stories, but neither works. Oracle owns the JCP and I’m afraid they’re in charge. It would be horrible if we end up having a bunch of versions of Java. There is a Red Hat version, one in Apache, the OpenJDK, and none of them have any traction. People use Sun JDK.


Leave a Reply

Your email address will not be published. Required fields are marked *