Enterprises tend to put too much value in conformity and to little value in people's time. I have certainly worked in large corporate environments with lots of projects. Both those who thinks that there is value to optimize for the average and those who understands there isn't.
I think most people that criticize Maven do so because Maven does not help them do their job to the extent Maven should.
Enterprises don't really need enterprise tools but you need an enterprise to use enterprise tools...
To be fair, I didn't really want to write the post back in 2010 but I was convinced to do so. I was and still am pretty happy simply not using Maven :)
Actually, it's one of the problems, not /the/ problem. There were many more listed :) I would really like to sit down with a netbeans fan to convince me. I have tried my hands on it a few times but I never understood why some people use it. Intellij, sure, netbeans... not convinced :/
Wow, I don't know what hit my blog yesterday but the post has had 10000 views since then. It was an old blog so I had to read it again and I can still stand by the points I made back in 2010.
The deal with eclipse: I have certainly used eclipse and IntelliJ more than just once :) Eclipse's background incremental compile is unrivaled. Maven breaks this (at least broke this in 2010 when I wrote the post). It is the /one/ killer feature in eclipse and it is hard to be without once you get used to it /EVEN IF/ intelliJ and netbeans imports maven projects like charm.
Importing projects is not the issue, it's nice to have that automated and all but the issue is that the kick ass builder in eclipse was downgraded to a below average one with the eclipse plugin. I'm sad to see that people actually think that eclipse is as bad as it with the maven stuff installed :)
IMO it's better to just generate eclipsprojects from maven and stay away from the eclipseplugins at least was in 2010. Or use another IDE if one must use maven. Unlike your die hard Eclipse-user I tend to use what others in the teams are using IDE-wise which has given me experience both with IntelliJ and Eclipse and have actually come to prefer Eclipse over IntelliJ over the years... different discussion.
There were many other points other than IDE's in the post too :)
---
As someone else pointed out Maven actually does assume there is one right way to build and you're disagreeing that it's a bad thing.
---
The enterprise argument is a bit of a strawman that people tend to use when others don't agree with them. I've been in small and large organizations. "Largeness" is not an important parameter other than a belief that "things are supposed to be big hard and complicated" is more common in large enterprises.
Standards are nice, I haven't had a curly brace discussion with anyone for years now (other than to make user everybodys save actions and code formatting-settings are in sync which everyone agreed so far is a good thing). I used to have those discussions a lot years ago, I think it's a maturity thing.
---
You are right that declaring a POM in YAML or a DSL is pretty much a change for changes sake (as I have understood is the case in Maven 3). The real benefit would be if one would actually do something different with the language than declare a POM.
Yes, the original author (me) did indicate that Java was a bad choice but not for the reasons you assume here but for the reasons I clearly stated in the post :)
Most of them being related to that Java is a compiled language so you often find yourself in a situation where you wonder about plugin internals but the actual source the plugin was built from is elsewhere. That in combination with that extensions needs to be compiled and distributed which requires infrastructure to "build the build". Sure it's easy to google and download the source, even recompile, setup a place where the plugins can be used from (custom and patched ones) but it is still extra overhead that would not be needed at all with (for instance) an interpreted language.
An interpreted language is simply a more sensible choice for these kind of things. The developers of SBT understood this and made sure the buildfile and plugins are distributed as source and compiled by SBT to make this extra step go away even if the buildfile is written in Scala.
I think most people that criticize Maven do so because Maven does not help them do their job to the extent Maven should.
Enterprises don't really need enterprise tools but you need an enterprise to use enterprise tools...