Live data from Hacker News

Why Everyone Eventually Hates or Leaves Maven

nealford.com

41–50 of 168 posts

Re: Why Everyone Eventually Hates or Leaves Maven

#41
> Donald Knuth was asked to write a program to solve this text handling problem: read a file of text, determine the n most frequently used words, and print out a sorted list of those words along with their frequencies. He wrote a program consisting of more than ten pages of Pascal, designing (and documenting) a new algorithm along the way. Then, Doug McIlroy demonstrated a shell script that would easily fit within a Twitter post that solved the problem more simply, elegantly, and understandably (if you understand shell commands)

Fine anecdote, but anyone want to take a wager as to the relative time and space complexity of the two solutions? I imagine this is sort of comparing apples and oranges.

Re: Why Everyone Eventually Hates or Leaves Maven

#42
I now use bash instead of ant. It's really fast, makes sense, does whatever I want.

But it has the lisp problem (and now ruby problem) of everyone making their own tooling, without standardisation. (where a "standard" is procrustean: it doesn't exactly fit any situation, but the situation is forced to fit it). Pre-chasm innovators/early-adopters love it; everyone else hates it.

BTW: I don't think "contextual" is a very descriptive term ("composable" is great though)

Re: Why Everyone Eventually Hates or Leaves Maven

#44
post #9

Spot on post. Last year replaced a maven shitfest with an old fashioned Makefile which calls javac and manual dependencies. The whole port process took about 2 hours. Integration and test run time has gone from 7 minutes (to drag all the maven plugins and dependencies down) to just over two minutes. This saves us a fortune on build agent capacity as well (we use TeamCity).

It shouldn't need to download plugins and dependencies every time you build, only the first time. Had you disabled the use of a local cache?

Re: Why Everyone Eventually Hates or Leaves Maven

#45
i'm really wondering, why xml is burried so deep down in the comments. I would argue that Maven is just reflecting a methodology implied by xml, some like it, but well...

this: http://www.defmacro.org/ramblings/lisp.html

even though having completely different intentions, shows the parallels quite well, imho

Re: Why Everyone Eventually Hates or Leaves Maven

#46

I'll take rigid maven any day. Much preferable to some cobbled together build system that is undocumented and hard to reliably reproduce. I'm curious what people are doing with Maven that they manage to get into such a fight with it? Although to be fair, due to issues in its dependency resolution mechanics, it can pull in incorrectly versioned artifacts without ever telling you anything.

That and don't forget: 1. The tools that can work with it [Hudson, etc] 2. The support for SVN if you want it 3. Plugins aren't the worst thing in the world. Instead of fighting arround with Tomcat to get a dev server going and deploying the artificat manually [or getting the ide to do it] you just have to use mvn tomcat7:run ... easy.

Re: Why Everyone Eventually Hates or Leaves Maven

#47

Earlier quoted context omitted.

You should take a look at http://www.gradle.org/ if you haven't already. I worked on an ant project and decided we needed to convert to a better build system. I started down the path of Maven, but Gradle changed my mind because of the conciseness. It uses the groovy language so hopefully it doesn't fall into the same trap as described in the post.

Gradle has given me a lot of headaches for small projects. I keep going back to it now and then and run into performance issues with it where builds that take 10 seconds in Maven take 10 min in Gradle. It's something about the dependency resolution mechanism. Something is broken, but I haven't been able to pin-point it yet. It's frustrating because I love Groovy. I write a lot of Groovy and I'd love to use a Groovy-b…

I've used Gradle on a handful of small projects and am very surprised that you're seeing an order of magnitude difference between a Maven build and a Gradle one. Can you provide a little more detail about what the script was doing for 10 minutes?

Re: Why Everyone Eventually Hates or Leaves Maven

#48

How about Maven 3 and Groovy DSL? http://www.mail-archive.com/users@maven.apache.org/msg126205... At least the people behind Maven took notice that there is a problem and working on something.

Shhh you'll interrupt the maven hate circle jerk.. We can't have that.

Re: Why Everyone Eventually Hates or Leaves Maven

#49
I can't understand the Maven hate. People prefer their own half baked ant tasks which don't handle dependencies? IMHO Maven takes some getting used to, but it brings a lot to the table and can make the build process very repeatable and extensible.

Re: Why Everyone Eventually Hates or Leaves Maven

#50
Doug McIlroy's solution is genius, and I hesitate to try to improve it, but it seems to me that if you reverse the order of the 'tr' commands, then you can slightly simplify the one that turns non-word characters into newlines, like so:

tr A-Z a-z | tr -cs a-z '\n' | ...

Since you first turn upper-case characters into lower-case ones, you then get to replace only things that aren't in a-z with newlines, rather than things that aren't in A-Za-z. It saves a whopping three characters!

Post reply on HN