On Fri, 17 Jul 1998, Fergus Henderson wrote:
> > Both Java and Eiffel attempt to do away with Makefiles.
> > http://eiffel.com/doc/manuals/language/intro/system.maker.html).
>
> So what's the difference between an "Assembly of Classes", and a GNU Makefile,
> other than the name?
The virtue of ACE is that it standardizes stuff that is otherwise
convention. For example, suppose you are building a system that includes
two subsystems authored by other people.
If you use Make, then you would write a makefile for your package that
calls the makefiles for their packages.
You need to agree on a set of conventions
* the name of the object to want to tell make to build
* the name of the resulting object(s) from each makefile
* a protocol for passing compiler prefernces (speed/size/debug flags/assertions)
* a protocol for managing version control of these components
(e.g. the Makefile's need to supply version numbers)
In addition if your runtime does dynamic module linking (e.g. java or the
next version of Hugs), then you don't want to go through Make at runtime.
Instead, you just want to define, which versions of existing builds your
system should use (and where to find them).
Eiffel's LACE (Language for Assembling Classes in Eiffel) and Java's
import chasing, classpath, and classloader are attempts to address these
issues.
-Alex-
___________________________________________________________________
S. Alexander Jacobson i2x Media
1-212-697-0184 voice 1-212-697-1427 fax