Monday, April 09, 2007

Why is Maven Still Such a Horrific Pile of Garbage?

Maven is, hands-down, the absolute worst piece of crapware I have had the misfortune of using in the last 4 years. This collection incidentally includes all versions of Microsoft Internet Explorer, including IE7, which only crashed every time I started it for a week due to an incompatibility with the Google Toolbar. It's worse than Norton Antivirus. It's worse than Microsoft Outlook. It is a complete waste of bits.

The terrible, tragic thing about Maven is that there's a kernel of a really good idea behind it. Building stuff, handling dependencies, running tests, producing reports. Great! Fantastic! If only it weren't to software development what Mr Garrison's "It" was to transit.

First, those who get excited about XML configuration need to die in a fire. A sewage fire. You know what? XML blows. The XML fad is over. Stop using XML for all kinds of garbage that it was never intended for. What the hell is wrong with you? People do not like writing this crap, and they like reading it even less. I don't give a damn that it makes your crapware XML/Object mapping tool spit out nice little objects that are easy for YOU to deal with when handling configuration. It's not about YOU if you want people to use your diarrhea soup.

Next, why does everything in this obtuse XML configuration HELL have to be


and nested

and nested

and nested

and nested?

Seriously, if I need to get a file included in my output, why does it have to be in a structure 4 levels deep? And why do some of the bottom-layer elements allow file globbing? Don't you realize that if you can handle file globbing, you could just one ONE DAMN TAG ONE LAYER DEEP and be done with it? Die!

Want to see the results of your unit tests? Go look in a bunch of individual files! Because the build can only scream FAILURE!!! at you (just like that) and doesn't bother to tell you which assertion failed at which line in which class and method.

What a horrible pile of dung. Maven has been around for well over 4 years and in that time the only thing that appears to have improved is its startup time.

I don't know why anyone puts up with this crap.

Labels: , , , , , ,

have you ever used lotus notes? far, far worse than anything you mention here.
I haven't ever used Lotus Notes, but I haven't ever heard anything good about it.
speaking of maven though - if it's so terrible, why are you using it? what functionality is it bringing to the table that makes it worth putting up with all this junk?

i've never really looked that deeply into it, my cursory examination a few months ago left the "not mature enough yet to try" taste in my mouth.
Because it beats dealing with the airlines.

Seriously though, for all its quirks and annoyances, there's not a better alternative for doing what it does.

In the OpenSores world, it is often necessary for one's project to be shared with other people who may use different IDEs or no IDE for their development. So you can't really rely on your IDE's metadata files to provide sufficient information for someone else to build your project.

That's where Maven comes in, as a tool that lives outside the IDE (but can integrate with it), providing consistent project layout, dependency management, and compilation.

I can run my project in Eclipse, but export something that I know someone who uses IDEA can use simply by running the Maven "idea:idea" target... and there's no doubt that person can build my source. Maven will even take care of downloading all of the necessary dependencies from public repositories.

In short, Maven is giving me IDE independence and dependency management.
ah, okay. i've run into this going between eclipse and netbeans so i can see where this would be valuable. i'll have to look it over again.
lol... i couldn't agree more!

anyway in my wicket/spring/jpa application i use a build solution based on ant+ivy, it's really neat and simple.


ps. and yes, lotus notes sucks as well
Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]