From donaldp@mad.scientist.com Tue Jul 25 02:28:04 2000 Return-Path: Mailing-List: contact ant-dev-help@jakarta.apache.org; run by ezmlm Delivered-To: mailing list ant-dev@jakarta.apache.org Received: (qmail 79925 invoked from network); 25 Jul 2000 02:28:04 -0000 Received: from me-sv-02.free.net.au (202.147.17.2) by locus.apache.org with SMTP; 25 Jul 2000 02:28:04 -0000 Received: (qmail 19853 invoked from network); 25 Jul 2000 02:27:16 -0000 Received: from me-as-07-035.free.net.au (HELO donalgar) (202.147.24.35) by me-sv-02.free.net.au with SMTP; 25 Jul 2000 02:27:16 -0000 Message-Id: <3.0.5.32.20000725122520.008c1b80@latcs2.cs.latrobe.edu.au> X-Sender: pjdonald@latcs2.cs.latrobe.edu.au X-Mailer: QUALCOMM Windows Eudora Light Version 3.0.5 (32) Date: Tue, 25 Jul 2000 12:25:20 +1000 To: ant-dev@jakarta.apache.org From: Peter Donald Subject: Re: Why Properties became immutable In-Reply-To: <397CE9BB.15E7EEAF@seaconinc.com> References: <397CE64F.23DE1F7D@seaconinc.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N At 09:13 24/7/00 -0400, you wrote: >It's precisely *because* make is so purely declarative that most programmers I know >refuse to touch it. It has nothing to do with spaces-before-tabs or other syntactic >oddities, and everything to do with the fact that they have spent years getting >indoctrinated to procedural and OO thinking, and therefore feel that learning to think >declaratively is just too difficult. > >I sincerely hope Ant can cover new ground - not simply rehash the old a new way. I am so so so dead against this it is not funny and I believe (hope?) that the Ant commiters are with me on this. Procedural thinking is good when the problem is procedural and the problem space is well defined. I have worked on a number of projects where this wasn't the case but and we did things procedurally anyway. When it came to using the project we detected the bug and found I had to rework vast proportions of code due to this bug. Even worse was when upgraded API - 90% of old code broke because it relied on previous assumptions. The reason that I dislike using is because of the complex dependancy tree. When a make dependancy is evaluated you have to think a lot to determine where the rule came from. Is it from a default rule or perhaps one of those overly complex reg-exs you wrote and yet bairly understand, or maybe yet still it is one of those mutable macros you defined - or perhaps you are including a MACRO library and it is in there or ..... Tabs etc are painful but usually fairly obvious. Hence I rarely have a problem with them. Ant on the other hand makes everything explicit and puts all the complex details in tasks. Hence virtually anyone can read an Ant build file straight of without even really understanding ant. Can you say the same about make ? Cheers, Pete *------------------------------------------------------* | "Nearly all men can stand adversity, but if you want | | to test a man's character, give him power." | | -Abraham Lincoln | *------------------------------------------------------*