On Fri, 27 Jul 2001 02:04, Christopher Berry wrote:
> This seems to be a recurring theme in the Ant world.
It is a theme in virtually every freesoftware project that is innovative or
takes a different tact. If you lurk on some of the more "innovative" projects
you will see the same issues reoccur over and over and over again. We even
have a few here at apache.
> I would like to add something:: Great software is grown.
well I don't know about that. Great software is made not grown in my
experience. Evolution leads to accumulation of cruft, diversity and
complexity (software is no different from real evolution in that respect).
> It is constantly rethought, and refactored. The most important thing we can
do is
> listen -- listen to the code, and listen to the User's of that code.
> Feedback is critical. And reacting to that feedback is the essence of
> evolution.
Thats why we have revolutions/forks (ie complete rethinking of code base).
Forks are more dynamic and change faster. They also rarely support backwards
compatability to such a high degree.
> Over and over, a great many Ant User's keep asking for the same features.
> E.g. <foreach>, <if>, <unsetproperty>, ${target}, etc., etc. Are we all
> misguided souls??
Time and time again I have heard people ask for access to pointers in java,
self manageable memory (specifically destructors), .... Are they all
misguided souls ?
>Isn't it possible that we are supplying valid feedback??
> Feedback that could take Ant to even greater places??
Isn't it possible that adding pointers to java is valid feedback? Feedback
that could take java to even greater places??
See a pattern here ? ;)
> Remember that these User's are just poor souls like me, with real-world
> problems to solve -- with real deadlines -- often working in large,
> existing "make" systems. Architectural Purity is often a luxury we cannot
> afford.
well then you may have made a bad choice ;) I still use gnumake (and recently
a TCL based system) to build complex projects. Ant wasn't designed for
complex build scenarios.
Adhoc bolting on of features anytime someone wants to solve a "real world
problem today" leads to bad design and crap software. Ant already has enough
crap "features" that are a result of this process. Many design choices were
made for precisely this reason early on and we still have to support them
today.
> Is bifurcating Ant really a valid option??
if you want those features it is the only way you are going to get them.
> Maybe it is time to let go a little. Like a proud parent seeing your child
> grow. Not necessarily always in the direction you might choose. But that's
> just part of being a parent.
ahh no. Opensource software is precisely that. We get to make stuff the way
we want and how we like because we want to and for no other reason. If we
make the wrong choices a fork will startup, get popoular and takeover.
Apaches jserv evolved this way, GCC evolved this way, many projects evolve
this way.
Cheers,
Pete
*-----------------------------------------------------*
| "Faced with the choice between changing one's mind, |
| and proving that there is no need to do so - almost |
| everyone gets busy on the proof." |
| - John Kenneth Galbraith |
*-----------------------------------------------------*