> And incidentally many (most? all?) garbage-collected languages will force
> every single class to be allocated dynamically (which will add at the
> very least the type or size of the object to be stored alongside it
> so that it can be properly freed), which in turn forces every object
> to be handled through at least one reference (which will add the size
> of a pointer to the total memory consumption of the object), plus they
> also usually automatically make every object dynamically bound (which
> will add at least the size of some kind of pointer to the total memory
> consumption of the object).
Eiffel is a GC language.
Eiffel allows you to select whether instances of a particular class
should be allocated statically or dynamically.
The Eiffel compiler analyzes all the classes in the program and
automatically decides exactly which methods need late binding, and which
ones do not. (It also does dead code elimination; any methods not
actually called from anywhere get totally removed.)
Post a reply to this message
|