Rob Williams is a probabilistic Lean coder of Java and Objective-C. Rob is a DZone MVB and is not an employee of DZone and has posted 170 posts at DZone. You can read more from them at their website. View Full User Profile

Contrarian Read on Maven Haters

01.30.2013
| 2173 views |
  • submit to reddit

Dan Allen retweeted a link to an article by the ThoughtWorks dude Neal Ford about hating Maven here. I thought, ‘hey, I have had my share of beefs with Maven..‘ but alas, I ended up disagreeing, pretty much down the line, with everything in the article.

Really his article doesn‘t have much to say about maven, it‘s kind of more a Paleo defense of emacs. Essentially, the core argument is that no one stays with things that don‘t allow for super simple modification through what he calls ‘composability.‘ While making that argument, he also philosophizes about why Access was a failure. I have philosophized on that topic myself. I kind of like that part (that‘s from some other former colleague). But even that I disagree with.

But the main reason I am posting here is that the kind of ugly undertone to this piece is that technologists just don‘t believe in the concept of consensus. I love to bring up the Alfred North Whitehead quote around here, let‘s look at it again:

Civilization advances by extending the number of important operations which we can perform without thinking of them.
Alfred North Whitehead


Do we really want to be running around trumpeting, in 2013, how the proof that we are on the winning team is that we are using technology that originated in 1968? How do we answer the charge that we hold a yardstick to the rest of the world and constantly find them wanting for their lack of progress, then internally, we go to the mast again and again and say ‘those who would attempt to progress beyond this point be damned.‘ Apparently, we can‘t finally just agree on anything: the file system, text editors, etc. Frankly, Ford‘s depiction of eclipse‘s failure is also seriously wanting. Eclipse is very customizable, in most substantial ways, and frankly, writing a plugin to add a line is not a crazy exercise. Does the author forget that the whole claim of Open Source is that what you want will end up in the product by magic because other people will want it and since it‘s open, someone will put it in?? In fact, as I have said many times on this blog, the failure of eclipse is really a dark story about Open Source in general: it never really was open source, it was IBM wanting to find a way back into favor, and now its a huge consortium of peddlers trying to hit a gusher and make a bunch of dough. Most people have almost no plugins installed, so almost no one is working on them, hence, the dream has died.

Furthermore, the undeniable terminal or resting point of this argument is that there is no progress in these matters. Emacs is all you get and if you can‘t make due with it, you suck.

As for Access, while I agree with the asymptotic depiction, I would point out some other reasons for that: as Access projects became more complex, it became impossible to know where anything was anymore. Some logic was buried in onClick of a button, some more on onLoad of a form, etc. (It‘s baffling how that relates to Maven?) The Law of the Complexity Asymptote states that as the system‘s capacity to contain complexity declines, so does the possibility of completing said system. Sounds stupid, but it is kind of undeniable.

My critique of Maven is totally different: Maven came along to solve one problem and had to take over a LOT of turf to offer a solution, which, ultimately ends up being really useful for a small percentage of the population. It‘s like what happened with OSGi: even Rod Johnson‘s final white flag encomium for OSGi admitted as much.

Which brings me to another horse that I just never seem to tire of flogging around here: clearly the Open Source world gets low marks for having efficiently managed the targeting of resources. Is there anything more common (and deadly) in software than to build a thing that ultimately does not benefit the recipients? Nope. #1 reason for failure in metrics studies (and #1 reason why Jacobsen‘s work on Use Cases is the most important and enduring contribution to process theory in the last 2+ decades). That has become de rigeur in open source. If the argument was most people end up as Maven haters when they realize they spent a ton of energy to prevent having to pull a few jars into a project, I would have said amen. I still overall like Maven, but I would NEVER say that it was worth the energy its taken from the channel.

 

Published at DZone with permission of Rob Williams, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)