on being selected as one of the finalists for the Software Carpentry
Project's design stage.

          http://software-carpentry.codesourcery.com/first-round.html

I think that overall your design is excellent, but I have one
problem and a suggestion for your design.

1) Language dependency:  I think you've missed a great opportunity by
   not framing the syntax for your tool in a language neutral form
   (e.g. XML).  By actually building the tool around Python syntax
   you've made the composition and exchange of the build files
   actually dependent on Python when they need not be.  I believe that
   this will be a significant inhibitor in the adoption of "Tromey"
   into integrated IDE's (for example).  Just because the competition
   (and presumably your prototype) asks for Python doesn't mean that
   the language need be exposed.

2) Persistence.  One of the great inefficiencies of make has always
   been its need to reparse and recalculate all of its dependency
   information on every new invokation when virtually all of it is
   identical to previous passes.  Given the modular nature of your
   design, I believe that the addition of persistent caching of build
   objects in a way that is modular and composable (a subdir changing
   should not require recalculation of all module deps) would not be
   difficult and would be a huge win.

That said, it seems that none of the entries were able to articulate a
credible path from make to SC-Build.  If there would be a way to
(at least partially) transform an automake file to "Tromey" that would
be a huge leg-up.  And I can't think of a better person to do it...

-------------------------------------------------------------------------------
Lee Iverson                     SRI International
[EMAIL PROTECTED]                 333 Ravenswood Ave., Menlo Park CA 94025
http://www.ai.sri.com/~leei/    (650) 859-3307

Reply via email to