[EMAIL PROTECTED] wrote:

I was able to easily do things that would have taken me a lot longer to write in make syntax and the build.xml files are much simpler to read and maintain.


Well there you go, that sounds like the killer argument to me!


Yesterday, myself and one of our system architects tried to convince our IT manager to officially allow ANT for building java programs, and met with little success.

The arguments were:

1. Him: Ant doesn't do anything that make can't do.
Me: Because make can call any shell command, there's really nothing make
can't do
if you work at it hard enough. My point is that Ant does things
more elegantly.


2. Him: Since Ant would only be used for java builds, we'd need to support 2
tools, Ant
for java and make for C++. Therefore, higher support costs.
Me: Ant is simpler than make, so it will not have as many problems
requiring a
build expert as make will.

Exactly. Likely _lower_ support costs. Turning his argument on its head, why use a sledgehammer to crack a nut?


 Also, it can be optional for java, so
not every
        developer needs to be trained to know Ant.

3. Him: I thought javac already automatically detected dependencies and
compiled all the
        necessary files, which means your makefile would generally be
trivial and not
        require a sophisticated tool.

javac -depend was buggy, and the new javac doesn't have that feature at all. However, I'm told that jikes, which is open source C++, can do dependency checking.


Note that javac still does some degree of dependency checking (but it stops once it finds a file that hasn't changed, and only checks in one direction). But this isn't enough.

Even ant isn't perfect, because if B depends on A and you just change A, only A will be recompiled, even though B might now be broken. I'm not familiar with make - what would happen with make?

   Me:  First, I've heard of problems with javac with big directories of
files being
        compiled.  Second, I don't think javac can autocompile needed
classes which are
        in different packages (which we use extensively).

I think it can, actually. You just need to set up the path options correctly.


4. Him: Make is standard, Ant is not, and may never become a widely used
too.

Geez! How would any new product ever get off the ground if people always thought like that? :-) But if you win on the other grounds, this objection should crumble.



Finally,
        so what if it's not a standard?  As long as it's useful to us, it
doesn't
        matter if other companies are all using it.

Exactly.


So, the question is: "How do I convince a reluctant manager to see the value of Ant?"

I think you've said practically all you can. Some people just refuse to listen to reason.


______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com



Reply via email to