maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <>
Subject RE: [Repetitive]: Maven does not live up to its promises
Date Sun, 24 Oct 2010 19:30:24 GMT
To me, Maven is two things: a way of *declaring* dependencies between components and a way
of *declaring* a transform on assets that comprise these components.  The transform says something
like: "I have some assets in a given form in locationA and I want to transform them into another
form in location B.  The assets are a bunch of files structured according to certain conventions.
The target is typically (but not always) some sort of deployable archive form that adheres
to some standard such as a JAR, WAR, EAR or a complex assembly consisting of multiple such

This is the essence of the declarative nature (and the magic) of Maven.  You can realize this
kind of transformation without having to state procedurally the steps required to get there.
The "XML sucks"  discussion is one that has been repeated in many other domains and is rarely


From: ext Jason van Zyl []
Sent: Sunday, October 24, 2010 11:21 AM
To: Maven Users List
Subject: Re: [Repetitive]: Maven does not live up to its promises

On Oct 24, 2010, at 11:15 AM, Justin Edelson wrote:

> Jason-
> I'm sure there's a lot here to respond to, but if I could make one suggestion, it would
be to clarify what you/we mean when we say that Maven is 'declarative'. This seems, at least
for Mr. McDonald, to be the source of some confusion.

That would definitely be one of the clarifications.

> Just my 2 cents...
> Justin
> On Oct 24, 2010, at 9:03 AM, Jason van Zyl <> wrote:
>> Kenneth do you mind if I use the body of this rant in a blog entry? I will leave
it verbatim and won't quote anything out of context.
>> There are many people who misunderstand Maven at a fundamental level, but in sum
total not many Maven users or people attempting to use Maven, actually traffic this list.
It would probably be more instructive to have your rant and my answers in a place where more
people can see them.
>> Would that be OK?
>> On Oct 23, 2010, at 5:15 PM, Kenneth McDonald wrote:
>>> First, note that I did tag this as repetitive: You don't need to be reading it
if you don't want to be rehashing recent issues.
>>> <beginning of rant>
>>> However, I want to give a concrete example of just why I dislike maven (and all
other XML solutions) so far. I am trying to do what I think should be a reasonably easy thing
to do--upload onto github (or something similar) current documentation for the project I have
hosted on github. So far the best solution I've seen involves making another branch of my
project and including the documentation there. This is fundamentally wrong (the docs are _part_
of the project), but I'm not blaming maven here. It's probably a git thing I don't yet understand.
>>> However, once we get past that, the pom files necessary to upload the docs are
daunting, to say the least.
>>> Even more than that, though, the pom files are fundamentally unreadable. Oh I
don't mean you can't puzzle through them in an afternoon or so if you have the time. Of course
you can. But (and I think this deserves to be in caps), XML FILES ARE FUNDAMENTALLY WRITTEN
WITH THE EASE OF THE COMPUTER, NOT THE HUMAN, AT HAND. I mean, that's just a simple statement
of fact, not an opinion. I just don't get how people can be so oblivious to this. Would you
really want to program in a dialect of XML? How many people do you know who do so? Do you
really think that all of the work that has been done on parsers and compilers over the last
thirty years has been in vain because, realistically, humans should just program in XML? I
open up an XML file, and unless I'm quite familiar with the "dialect" of XML in use, simply
understanding the structure takes at least half an hour. THEN I need to understand the content.
There is too much redundancy, too few structural cues to indicate meaning, too few keywords
(yes, they're important!), too much nesting, too little ordering in that nesting...I could
go on.
>>> Of course people will dispute this. They're wrong. If they were right, we would
have had something like XML for all our programming needs twenty years ago. Sorry people,
you're just plain wrong.
>>> Now, what are the claims made for (or implied by) maven:
>>> 1) That it is declaratively, not procedurally, based.
>>> 1-a) Whoop-te-do. So are makefiles. Sure, they've accumulated a lot of crud over
the years (and a rewrite _like_ maven was probably necessary to clear this out), but makefiles
are, at their core pretty simple. You have a build target. It depends on other build targets.
You build those other targets, and then you build what you're working on. Is this revolutionary?
>>> 1-b) I've mentioned this before, but Prolog has been doing declarative programming
for years. Without obscure semantics. With lots of extra expressive power, like list manipulations,
arithmetic, etc. etc. With an understandable syntax. With lots of extra libraries. Would it
have really been so bad to base a declarative codebase on Prolog, a mature, proven technology?
>>> 2) XML is standards based.
>>> 2-a) Sure. Like Prolog. Or even (choose a variant of) LISP, for god's sake. All
of these "languages" are standards compliant until they're not. XML will suffer the same fate.
>>> 3) XML makes it easy to interoperate with other systems.
>>> 3-b) This is the biggest piece of bullshit I've ever heard. It totally confuses
a data format (let's say, "ASCII") with a data standard (let's say, "CORBA", though that's
stretching things.) XML is a data format, pure and simple. No matter how hard it tries (remember
DTDs?), it cannot attain the status of a data standard, because the needs of data standards
evolve and continually require new things. So a data format such as ASCII, can have quite
a long life--but trying to do the same thing to a data standard is a pointless exercise, and
will not hold.
>>> 4) Apache is wedded to XML.
>>> 4-a)  This one really pisses me off because I suspect it's absolutely true. I
believe that Apache has a large number of very talented programmers, and I believe they are,
in large respect, wasting their time because they have come to worship XML. I don't get it.
There are things for which XML is appropriate. There are also so many things for which it's
not, that why would you spend all of your time there? I don't have an answer.
>>> Anyway
>>> </end of rant>
>>> Ken
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail:
>>> For additional commands, e-mail:
>> Thanks,
>> Jason
>> ----------------------------------------------------------
>> Jason van Zyl
>> Founder,  Apache Maven
>> ---------------------------------------------------------
>> Three people can keep a secret provided two of them are dead.
>> -- Unknown
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:



Jason van Zyl
Founder,  Apache Maven

happiness is like a butterfly: the more you chase it, the more it will
elude you, but if you turn your attention to other things, it will come
and sit softly on your shoulder ...

 -- Thoreau

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message