Defecating on a JDK

In a rather perplexing move, it’s announced that the Java 6 JDK will include Derby, the turdy little unwanted IBM poop plopped onto Apache (about par for the course, since large swathes of Apache seem to exit solely as an IBM marketing tool.)

What’s perplexing about this decision is how incredibly arbitrary it seems. I have yet to see a single rational justification of its inclusion, even from within Sun or from the community at large.

It’s one thing to suffer from the tyranny of the masses. We have plenty of cases of that in Javaland, do we really need to now add arbitrary bizarre decisions that not only pop up out of nowhere, but also have nothing at all do with the community?

Honestly, not even the JDK6 Expert Group decided on this addition. It’s literally as if someone at Sun woke up one day and thought ‘you know, I miss the old days when we could add random shit to the jdk without all this community and expert group nonsense, I’m going to sexually arouse myself now by doing just that’, in one of the most harmful public displays of nostalgia ever seen in a technical forum.

I honestly cannot conceive of a single reason for this. It doesn’t even make life easier for anyone. You can’t rely on it being there since it’s not in the JRE, you can’t actually do anything with it since you have to ram various awkwardly shaped objects into unexpected orifices to create a db and manage it using derby’s amateurish and unpleasant tools. It’ll work out of the box much the same way as an Oracle 8 install CD can be considered functional.

Even the silly ‘explanation’ from Mark Reinhold on JavaLobby says nothing compelling. It really does seem like a completely random decision based on a freakish whim. The motive in fact is fairly evil, getting people hooked onto JDBC 4, which will be a nasty thing to hook people onto since invariably they’ll need to move onto a real database, and end up being exactly where they are now; at the mercy of the real DB vendors, with nothing useful at all gained from the fact that they got to play with some half baked alpha pile of IBM dingleberries; a dubious joy at best.

This is even bad news for the handful of morons who are incompetent and desperate enough to use Derby. Now you’ll have to bend over and invite over a large group of chocolate log miners and perform things your mother would be very upset about just to upgrade your db. Of course, you WILL want to upgrade it. It has hundreds of open issues, and is clearly labeled alpha.

Even if those issues are miraculously addresses in the next few months, we’d still end up with more IBM shit in the JDK. Honestly, when will people finally realise that IBM has never produced anything of worth, beyond genius marketers? How many times must I mention java.util.Calendar and java.text before people start listening?

How hard is it really to install lightweight pure Java DB? We have mckoi, we have hsqldb (in its various incarnations), and we even have a halfassed one from Apache (Derby). All of these (except derby, funnily enough) are very easy to download and install, and are perfectly adequate for testing and playing with and the odd bout of sexual experimentation for the curious. In ALL cases, this should NOT be in the JDK. Why should one DB be blessed above all others? Did we learn nothing from the crimson fiasco? Mark also naively claims ‘Vendors of little DBs are already threatened by Derby whether or not a copy of it is co-bundled with the JDK. I don?t see how doing that fundamentally changes the picture for them.’ A clearly ludicrous claim; just look at how successful Tomcat is. That lovely servlet engine that’d have gone nowhere had it not been the RI. I don’t envy the little guys having to compete against a product called ‘JavaDB’.

The branding of the whole thing is equally ludicrous. JavaDB? What next, renaming Glassfish to The Java Application Server and making obscene lawyery gestures at anyone wanting to refer to their appserver by that name?

I’m one of the few people I know who will publicly admit that he’s a Sun fan. I think they’re an excellent steward of Java, and have done a remarkable job in every way (except marketing of course, I can’t think of a company that’s more incompetent in terms of how they present themselves to the public or of the ludicrous stuff they seem to push). How out of touch do you have to be to be ‘honestly surprised at the reaction to all this’ according to Mark? Have you people lost all respect for what we love and care about our platform, and felt that for the sake of consistency, you should whore the rest of the JDK and sell all your products NetBeans style? Come on, surely there are enough technically minded people still at Sun, who have some say and can prevent this travesty from taking place?

38 Responses to “Defecating on a JDK”

  1. Uncle No Pockets Says:

    Oh oh, let me be thr first of the many vapid nitwits on here to say: “me too Hani me too! I hate Derby, it’s bad. I was just telling a coworker the other day that this is like giving the JDK a nice Hot Carl. I’m just like you!! Love me Hani Love me!!!

  2. Rick 'Schizzle my nizzle' Hightower Says:

    What’s wrong with putting Derby DB in the JDK? I hope they put JSF with Tomahawk in the JDK too. That way, someone can develop a JSF-based GUI console for the DB. Hopefully, whoever succeeds in developing such a GUI will past the code for each UI Widget onto his/her blog (including any configuration files as well).

    Derby DB in the JDK is the Schizzle, man!

    Rick

    PS: I’m #2 this time!

  3. Howard Lewis Ship Says:

    I am going to write my own RDBMS engine in Java and see if I can get Sun to bundle it with JDK 1.7. I think I have a better idea of how to write an RDBMS than the Derby folks do. I think I will call my RDBMS “DevilBoyDB” in honor of my evilly good looks.

    Howard

    PS: If you have any doubt about how handsome I am, head on over to my blog and look at my photo - I’m as handsome as the devil if I do say so myself.

    PSS: Smoke Tapesty - it’s like crack cocaine! Try some! One hit is all it takes!

    PSSS: I am #3

  4. Corby Page Says:

    A while ago, IBM ran a cute promo with SourceForge. Install Derby (maybe it was Cloudscape then), run a simple query and report the results, and you’ll be entered in a drawing to enter some digital sex toy or something.

    “Cool enough,” I thought. And I was interested in learning about the product, so I thought I’d give it a shot.

    Then I found out that this was not a promotional tool, but a perplexing enigma that would have been deemed far too difficult for the Google Puzzle Championships.

    I’ve had my fun with PostgreSQL and Firebird. Hell, I’ve patched OSWorkflow and become very familiar with the intricacies of JBoss source code. But FUCK ME if I could figure out how to install this database, insert data, and query against it.

    This was one of those contests where they set up international teams in an auditorium working for two days straight, and the only successful entrant is from some Eastern European country that I can’t spell.

    As you suggested, Hani, this database could have come with the tagline, “All of the joys of Oracle 8, with none of that annoying power!”

  5. CorbaLover Says:

    Darn right, Hani! What’s next, putting CORBA in the JDK?

  6. ItIsCrazy Says:

    +1 support Hani, Could somebody kindly forward this article to TSS? It’s really fucking to add a database to JDK since we already have enough shit in JDK

  7. Trejkaz Says:

    Derby is great! My favourite feature is the 8 second startup time when opening a database. The focus for JDK6 is, as you know, on desktop functionality, and everyone knows that the first thing you want to do on desktop app startup is wait 8 seconds for it to open the database.

  8. Jesse Wilson Says:

    I’m just pissed they didn’t include it in J2ME.

  9. anjan bacchu Says:

    hi hani,

    +1. from another sun/java fan.

    spot on.

    rank bad decision.

    Jonathan and mark : we expect better from you. Just when the competetion from C# and the rails camp is improving, you’re trying to help them succeed by committing suicide.

    BR,
    ~A

  10. Genius Marketer Says:

    “Honestly, when will people finally realise that IBM has never produced anything of worth, beyond genius marketers?”

    Wow. I never thought I would here the words “IBM” and “genius marketers” in the same sentence. Drugs are bad, Hani. Very, very bad. In the meantime, you should apologize to the IBM OS/2 developers who busted their asses to write that OS only to have IBM’s “genius marketers” ruin any chance it had.

  11. darmoor grinder Says:

    What happened to your style!?!?!?!?!

    Surely you didn’t write this bland piece of crap?

    Personally, i could not care less that Derby is there. There’s plenty worse crap that i have truly never used in there and the extra in memory DB does seem like a nice add on.

    Why is everyone so god damn bitchy, you bunch of overpaid primadonnas.

  12. Jason Carreira Says:

    Haven’t you heard the hue and cry from the peasant developers for an in memory DB to be bundled into the JDK? It’s almost deafening!

    …and you “can’t think of a company that’s more incompetent in terms of how they present themselves to the public or of the ludicrous stuff they seem to push” ? What about a certain company that was recently purchased by a large Linux distributor?

  13. Jesus Says:

    Its all crap. Whats that law of thermodynamics - Entropy - all things become crap over time.

  14. Yet Another Howard Levis Worship Says:

    Tapestry and HiveMind *will* be bundled in the next JDK release and their use will be mandatory in all applications. Uninstall Spring right now.

  15. Uncle Wiggly Says:

    Jesus … Entropy ? I think you designed it that way … didn’t you ? I mean … if not … that is, it doesn’t just HAPPEN, does it, without any Controls ?

    Stop it, Mr. J. You’re scaring me.

  16. George Tree Says:

    I want a SOAP Engine a Fwd and Backward Chaining Rules Engine and a flash based Chess game built into the JDK + JRE.

    By George.

  17. Dr. Wiggly Says:

    On a more serious (snicker) technical note, it seems to me that ‘Derby’ can’t possibly be slower or less usable that the ‘Java Web Services Development Kit’ crap that Sun has been pushing for a long time.

    I know, I know, you’re talking about the JDK … but the Java ‘brand’ is the larger issue. It seems to me that some remarkably poor implementations of high-profile technologies have hurt the Java cause - especially because they remain out there for years as ‘the reference implementation’ while competitors produce more usable tools. Personally I think Java needs AssFish a whole lot less than it needs a productivity-oriented WS toolset … or a coherent persistence strategy … or [ grind your own ax here ].

    In my view, stuff that makes Java easier and faster to use is the stuff that will gain momentum again, not exploration of cutting-edge hoohah. That hoohah is cool also, but to pursue it at the expense of immediate practical value is questionable.

  18. Fat Teddy Donuts (D-MA) Says:

    Alas, Java continues to succumb to sloth.

  19. Jimmy James Says:

    This is pertinent:

    http://java.sun.com/developer/technicalArticles/J2SE/Desktop/mustang/beta2.html

    The tone of the page gives an idea of what’s going wrong at Sun. This guy is the lead.

    Here’s his link on the the new webservice annotation.

    http://blogs.sun.com/roller/page/dannycoward/20060227

    Great. Now, why would anyone want that?

  20. Uncle Wiggly Says:

    I like it. That’s what I want !!! Now my .NET team won’t laugh at me any more !

    Kind of a mixed bag of good and laughable features … but the good are worth a lot to me.

    OK, now … good direction with WS … next time, DON’T take three years to catch up with Microsoft … things are looking up.

    Thanx to Jimmy James and the whole News Radio crew.

  21. fx Says:

    Hi,

    I am a log4j developer and although it’s top secret, we are planning to bundle Derby and MySQL into log4j. Our reasoning is simple:
    - We want to give an integrated experience to our user base and provide a loggable out-of-the box database, so you don’t have to go through the hassle of configuring our SQL appender
    - We want to give our developers a choice and not lock them into Derby (we are pro-choice)
    - We want to be a step ahead of Sun because we are open source and open source rulz!!

    While I write this, our build scripts are running to provide all you developers we love and cherish and adore for loving us a new and improved and better and sexier way of logging in your applications.

    Log n’roll
    the log4j team

  22. Kenevel Says:

    Could this have anything to do with Oracle’s acquisition of Sleepycat and the recent release of the Berkley Java DB?

    http://www.sleepycat.com/products/bdbje.html

    What are Sun afraid of here?

  23. Jimmy James Says:

    “I like it. That’s what I want !!! Now my .NET team won’t laugh at me any more !

    Kind of a mixed bag of good and laughable features … but the good are worth a lot to me.

    OK, now … good direction with WS … next time, DON’T take three years to catch up with Microsoft … things are looking up.”

    You should be laughing at them. Anyone who is specifying web services with Java (or C# or VB) code should be fired on the spot. If you think web services are a good way to expose your Java messages you are missing the whole point of webservices and SOA and all of that buzzword crap.

  24. Uncle Wiggly Says:

    “If you think web services are a good way to expose your Java messages you are missing the whole point of webservices and SOA and all of that buzzword crap.”

    Why do you say this ? (Assuming that I want to make my services available over the Internet, this is ?)

  25. Jimmy James Says:

    “Why do you say this ? (Assuming that I want to make my services available over the Internet, this is ?)”

    The whole point of a web service is to create an API that is completely independent of your underlying implementation. So first of all, defining your specification with some Java code is way off target.

    But more deeply, you should be carefully crafting this API and descibing the requirements and expected behaviors. Once you’ve exposed this, you should not be changing these specs unless you want to break all the clients.

    If you are just writing up some code and then clicking ‘expose’ (or whatever) you are doing all this in an ad hoc and thoughtless manner. I’ve worked with Web Services designed this way. They aren’t even on the internet, they are internal to the organization and they are complete garbage. An absolute waste of time and money.

    When are people going to wake up and realize this shit isn’t easy? It takes half a brain and some work to do things right. You can’t just fart out a Web Service. MS already farted out SOAP. Too much gas.

  26. Don Cox Says:

    Jimmy, you seem aroused.

  27. Anonymous Says:

    Oh. I agree for the most part. Of course one does not define a specification with Java code, although I presume your point is that the specification is skipped in many cases with these ‘quick and easy’ tricks.

    To be frank, I have this same view about most software that performs significant function. A lot of code is poorly thought out (which is bad, agreed). Web services don’t change that picture for me, though. Same problems.

    Now, having said that, after I HAVE done the careful planning and said the proper words and so forth, I want to deploy easily. There’s no business value in carefully planning and crafting repetitive infrastructure code. This loos like a step in that direction. Yah, it can be - and is being - misused and sold dishonestly.

    Beyond that, too, I think that this WS stuff has to BECOME easy … or at least a lot easier. The crap coming out of Sun as the JWSDK was terrible - really laughably primitive stuff. And it hurt the Java cause, because managers are always managers and want to see the quick fix. So I think … you have to be able to deal with the challenge from these people. It will never prevent technical pros from insisting on a high-quality approach - we fight that battle all the time.

    But, yeah, I couldn’t agree with your last paragraph any more strongly than I do. This stuff is not easy, and it isn’t ever going to be easy, and it will in fact become more and more difficult as the world build more interconnections.

    It would be good if we could deliver this message to business management. Software is going to get better and better - but it’s also going to get harder and harder to build it.

  28. Jimmy James Says:

    “Oh. I agree for the most part. Of course one does not define a specification with Java code, although I presume your point is that the specification is skipped in many cases with these ‘quick and easy’ tricks.”

    Well, that’s one part. The more troubling is that later whedn someone wants to improve the web service or refactor the code, your web service and code are coupled. Now you’ve got to work something else out. And what happens when you want to publish this service using the next big buzzwordy technology (I know, this is crazy: Web Services are clearly the final and ultimate communication specification.) Good design would treat the WS as a view. There are a lot of good tools for publishind web services (and connecting them to Java) and Java code isn’t one of them.

    “To be frank, I have this same view about most software that performs significant function. A lot of code is poorly thought out (which is bad, agreed). Web services don’t change that picture for me, though. Same problems.”

    Yes, this is the same old story. X will solve all your problems with U. X will make your piss-stream more powerful. X is the ultimate solution. X will allow you to lay-off all your compentent (read expensive) technical people. [2 years later, same jackass] Y will solve all the problems created by the inherent flaws with X. Y will allow you to lay-off all the X experts you have had to hire in the last year.

    “Now, having said that, after I HAVE done the careful planning and said the proper words and so forth, I want to deploy easily. There’s no business value in carefully planning and crafting repetitive infrastructure code. This looks like a step in that direction. Yah, it can be - and is being - misused and sold dishonestly.”

    I don’t disagree with tools that create web service specs from code. They can save a lot of time because WSDLs are so arcane. But this is just boilerplate. It’s not the final deployment step. You should be looking at tools that are much more geared to XML and allow you to bind the Web service to Java code in a highly flexible manner.

    “Beyond that, too, I think that this WS stuff has to BECOME easy … or at least a lot easier. The crap coming out of Sun as the JWSDK was terrible - really laughably primitive stuff. And it hurt the Java cause, because managers are always managers and want to see the quick fix. So I think … you have to be able to deal with the challenge from these people. It will never prevent technical pros from insisting on a high-quality approach - we fight that battle all the time.”

    The problem I see so often is that aggresive people with questionable technical skills make themselves the technical leads in the work environment. They think these shortcuts are great and push them and blame others when they hae problems. The real management types don’t know how to reboot a computer and just believe everything these people say because they sound convincing.

    “It would be good if we could deliver this message to business management. Software is going to get better and better - but it’s also going to get harder and harder to build it.”

    Good luck. Business is convinced that software and developers are fungible commondities.

  29. Jimmy James Says:

    “Jimmy, you seem aroused.”

    Don, keep your Cox in your pants.

  30. Dr. No. Says:

    Can’t you see?!?!

    This is simply a bold move to answer Oracle’s decent JEE 5.0 server, TopLink, a free Java IDE that’s half-decent, a JSF component library, and blah blah blah.

    Go Derby! (or Cloudstink or whatever it is next month)

  31. Rick 'Schizzle my nizzle' Hightower Says:

    Hey Everyone!

    I’m pasting my code up again. Head on over to my blog and tell me what you think.

    http://jroller.com/page/RickHigh?entry=ibatis_working_with_composite_objects

    Scratch that - I don’t need to know what you think! Pasted code is the schiz!!!

    Rick

  32. Uncle Wiggly Says:

    What is it with the bald head fashion these days ? Pretty disgusting look … strange.

    So many idiots.

  33. Uncle Wiggly Says:

    You Uncle needs to apologize for his intemperant remarks over the last few … well, years, I guess …

    Anyway.

    Now I will make a valuable contribution.

    You know what’s odd ? What’s odd is this : in MS Excel, when you click a cell and then click Format\Cells, and then click the Alignment tab on that little widget thing, you’ll see that the little Horizontal dropdown doodad has ‘General’ displayed. Because it’s at the top of the list, which is how these dropdwons normally work.

    But in the Vertical dropdown doodad, ‘Bottom’ is displayed … and SELECTED FOR YOU … even though it is somewhere in the middle of the list.

    You actually have to scroll in the Vertical dropdown to select ‘Top’, which is odd … because that’s the selection all normal people make, as we know, and also because that isn’t how these dropdown doodads usually work.

    And so that’s kind of a pain. But it got me thinking : why is ‘Bottom’ so special to MS ? Is this part of their ‘tittilate the developer’ philosophy ? Did the guy working on it have a fetish - or does the entire team have issues ? Why does the Text Control section have ‘Shrink to fit’ but not ‘Grow to fit’ ? Why do they have an ‘Orientation’ section but no way to select sexual preference ?

    It’s all food for thought for the Wiggly One.

    Thank you for your time.

  34. Persistence Bigot Says:

    Yeah, the tragedy.

    They come up with a persistence mechanism and they ask us to dowload a JDK with a DB. These guys are Idiots. They had better be like you. The kind which asks people to downloAD SHIT FROM A 1000 DIFFERENT PLACES. Your ADD buddy (Gavin) is upset too..(this time coz he’s gotta code for yet another DB)

  35. Oracle Inc., Says:

    Yes sir…

    I would rather download 6 million petabytes of Oracle and DB2 instead of the JDK bundle.

    You sorry … whatever…

  36. David George Says:

    > I’m one of the few people I know who will publicly admit that he’s a Sun fan. I think they’re an excellent steward of Java

    I’m not. I think Java is withering on the branch under Sun’s stewardship. They no longer have the money of the dot.com days to keep up with dot.net and as a result Java is retreating into its J2EE ghetto. Sun has a bad record of releasing APIs then secretly dumping them. A couple of examples are the JMF which has not been touched in years and consequently is a half-baked out-of-date solution.

    More recently they have dropped Windows support for the Java Comm package. This was done very sneakily to the end of 2005 with no announcement of their intention and in contravention of their end-of-lifecycle mission statement. Going back a bit in the dot.com days they launched a server toolkit that enabled the quick building of all kinds of servers - I built a POP3 and SMTP server - until Sun dropped it. I mention these examples as they are all areas where I have been inconvenienced by Sun’s cavalier approach to Java stewardship. If it was not for IBM and countless independent developers Java would be dead. I sometimes wonder whether Sun would rather the whole Java thing went away so they could get back to their real business of selling high priced servers to banks.

  37. Brave Sir Robin Says:

    Is it time for another dose of bile yet?

  38. Walthup Says:

    Old news discussed at length over 6 months ago.

Leave a Reply

You must be logged in to post a comment.