On 2012-04-18 1:03 PM, Curtis Rueden wrote:
Hi everyone,

Thanks to all for the robust discussion!

To Ron, I apologize if my comments sounded overly critical of you in
particular. I get that you are trying to help guide people in the right
direction, and it is certainly good for them to question their assumptions,
and to understand the Maven basics before they go creating a rat's nest of
unnecessary complexity. So I completely agree with your perspective and
comments.

What concerns me a bit is perhaps nitpickery: sayings like "you will lose"
and "Maven will win" imply that advanced or unconventional configuration
cannot be done with Maven. Of course, we all know that that is not the
case. But a newbie doesn't.

The ideas I personally would like to see communicated are:

1) When used properly, Maven does a *lot* of heavy lifting for you—much
more than Ant.

2) Most projects can be expressed concisely in a POM by following Maven
conventions. Many things that required substantial configuration with Ant
etc. come largely for free with Maven.

3) When you must stray from conventions and standards, that is OK—but first
be sure that you really must. And be aware that by doing so, you pay a
*heavy* price. (And consider giving feedback to the maintainers of the
standards you didn't use, so they can be improved in the future to
encompass your use case.)

Unfortunately, I haven't come up with any witty slogans along these lines...


Eric Kolotyluk wrote:

I think the comment "if you don't do things Maven's way, Maven will fight
you and Maven will win." is humor - not fact. Keeping your sense of humor
is always good advice when working with Maven.

For sure. The first time I saw that saying I thought it was pretty funny
too, because I had already been through the learning curve and understood
what it's trying to say.

But regarding it being humor rather than fact: there is usually an element
of truth in humor. We should keep in mind that newbies are coming in blind,
with very little context. Some people, including very experienced
developers, might read it more as a statement of fact or at least attitude
that what they are trying to do is wrong, and conclude that Maven and/or
its community is inflexible and inappropriate for their use, which is a
shame, because as I said before Maven is actually extremely flexible and I
think should be used whenever possible. :-)

Humor is in fact 'art' and we all experience art differently - but the community we hang out with influences how we experience it. Thank goodness there are many people in the Maven community with a sense of humor or I could have gone insane %-)

Maven is in fact a lot about attitude, and learning this was perhaps the hardest thing for me to understand. Coming from a background of 'make' and then 'ant' I simply had the wrong attitude about developing software. I mean the word 'wrong' sincerely because Maven is what I always wanted in the end, and 'make' and 'ant' are simply tools I used and attitudes about software development were the state-of-the-art at the time. I also mean the word 'wrong' personally because it is not for me to tell other people not to use make, ant, or any other tool they are most comfortable with. But I will evangelize Maven as much as I can until something better comes along.

I started out hating Maven vehemently - it was because I was trying to learn various new technologies such as Hibernate, and I simply could not find any simple "hello world" examples of how to get started that did not require having to first learn to use Maven. There are just too many people who casually assume everyone should learn to use Maven - be dammed if you can't - and I still find that terribly offensive.

Weeks later after I had finished my research and assessment of new technologies, and I had calmed down, I decided to investigate Maven simply because of the ubiquitous evangelizing I found in my travels - if Maven has so many fans I simply have to see what all the hype is about. After choosing to adopt Maven for a new project I then spent 6 months hurting myself because I was convinced I could simply learn Maven on my own - my own arrogance that I could figure it out on my own - and taking shortcuts was ok. After finally taking the Sonatype training courses suddenly most of the pain went away and I was left with a Maven I can now rave about - and still complain about (but more articulately now).

Maven is one of the most powerful software development tools I have ever come across - and one thing I know about 'power tools' is that for the untrained then can be very painful. Maven is also a club, a culture a community - a very welcoming community - and the first thing beginners should learn about Maven, is to engage the community.

The single most important thing about Maven is users@maven.apache.org



Wayne Fay wrote:

But no matter what is done along these lines, you will always have some
nontrivial percentage of the population that "doesn't have time to read all
of that" and just wants to make their build work right now. We can point
people at books all day long but they can (and do) ignore that advice.

Yep, writing good documentation is really hard!

I would also add: how the docs are organized is just as important as the
content itself. We each have our own threshold for reading the docs versus
"just trying it" and how the documentation is laid out will affect whether
we find the answers with the limited effort we expend.


Regards,
Curtis


On Wed, Apr 18, 2012 at 12:33 PM, Wayne Fay<wayne...@gmail.com>  wrote:

The Maven site is not the most friendly place to start as a new Maven
user but it is not the only resource.

Perhaps the community should try to come to a consensus about the books
and recommend one as the "best" starting point for a new user and one as
the best place to find "Best Practices".
We may need more Maven documentation like this:
http://learnpythonthehardway.org/

But no matter what is done along these lines, you will always have
some nontrivial percentage of the population that "doesn't have time
to read all of that" and just wants to make their build work right
now. We can point people at books all day long but they can (and do)
ignore that advice.

The reality is that Maven has a bit of a learning curve and most
people new to it (mostly coming from Ant) will try to mold Maven to
their uses (by applying it to their existing projects and swapping Ant
config for Maven plugin config line by line) instead of leveraging the
great functionality out of the box (with zero config so long as you
stick with those pesky conventions). I'm not sure how to help people
short-circuit this learning process even WITH documentation.

ESR's essay on asking the right questions is key to getting proper
help on this list:
http://www.catb.org/~esr/faqs/smart-questions.html#goal

Wayne

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to