Stillborn ideas: XDoclet2
Friday, March 26th, 2004It’s amazing that there’s still talk of xdoclet2, and that there are living breathing people who actually think it’s a reality. Yes folks, fresh from the team who fucked up xdoclet beyond all recognition, we have a new project that is, if at all possible, even more fucked up.
First, it’s been in development for over a year now. Let’s review what these precious little geniuses have come up with, shall we?
Oh look, it’s more waffle talk, as championed by the prevayler crowd of cluebies. How can one take seriously such claims as ‘XDoclet lets you apply Continuous Integration in component-oriented development’, or the mindboggling profundity of ‘Start writing your own plugin and experience how easy it is!’ given that it seems anything but.
There are a variety of websites, wikis, maven generated travesties, and various deposits of poo from the so called ‘development team’. One of the main bragging points is that the xdoclet portion of xdoclet2 is in fact 16kb. As usual, these dimwits went and invented a whole pile of worthless crap that nobody actually wants, because they were in desperate need of finding a new problem to solve, since the xdoclet problem had already been toyed with before. Browsing various sites shows us that these are some of the ‘frameworks’ used for, by, with, and around xdoclet 2 (this is by no means an exhaustive list!): qdox, NB MDR (??), androMDA, metaforce, Xbg (eventually renamed to the snazzier XGG, and recently obsoleted), betwixt, jelly, velocity, picocontainer, generama, and a mishmash of jakarta droppings.
Peeking at the source code shows more cause for rampant bellychuckles. A bunch of things seem to live under com.thoughtworks, there’s no documentation to speak of, and it uses that beloved codehaus tool for the permanently braindamaged, maven.
All this is made all the more glaringly offensive when one considers alternatives, like Cedric’s SGen. SGen has no dependencies, and it took me a few hours to manage to port about 60% of xdoclet’s ejb module. The difference says volumes about the day jobs of these people. One group are clearly consultants who are bored and try to snazz up their job as much as possible, the other is clearly by people who have jobs working on real products where they expect outsiders to critique their work and use it, ones who most likely have no time or patience to waste on halfbaked ideas.
The recommendation to use jelly as the template language is also particularly hilarious, given that James Strachan himself apologised today for the travesty that is jelly, in a brave move that I applaud heartily.
The biggest failing though is completely misunderstanding the users of xdoclet. Us xdoclet users don’t use it because of its architecture, it’s pluggability, or its ease of use. It’s rubbish at all three. We use it because of the plugins. That’s the ONLY selling point. As painful as it might be to admit, a large number of xdoclet users are also ejb users. Most of them are probably ashamed too admit it, so they aren’t loud or obnoxious about it. Having an xdoclet core developer pipe up on the mailing list telling people not to use ejb’s is insulting and rude. If anything, you should be scolding the asshats who use xdoclet to generate webwork action mappings and hardcoding xml files into their sources.
I respect and admire past work done by Ara Abrahamian and Aslak. Ara sadly seems to have moved on and is no longer involved with xdoclet. Aslak sadly seems to have taken leave of his senses once he joined Thoughworks. So, avoid xdoclet2 at all costs, you’ll live a longer, happier, and more fulfilling life.
Perhaps I’m overreacting, someone recently blogged that they were giving a talk about xdoclet2 at some conference and the room had all of one person in it interested, still, better safe than sorry!