Architecture
Fare Rideau
rideau@ens.fr
Sun, 18 May 1997 16:39:36 +0200 (MET DST)
>>: Fare
>: ET
>> Note that a reflective architecture allows you
>> to choose and/or write your GC without breaking code that lives above.
>> With multi-object-space support, you can even have objects
>> that live in different GC spaces, yet seamlessly communicate.
>
> Yes, but would the flexibility of dynamically changing
> the GC algorithm be worth it?
>
Yes it is. Every program has different requirements,
different usage patterns, etc.
Providing a real-time GC for everything is just horrible;
yet many things would appreciate having one.
Same goes for generational GCs, GC guardians, etc.
People might not appreciate the default GC's performance,
its semantics, its reponse time, etc.
Just like they might not have appreciated complex-as-float
(why not doubles? or arbitrary precision numbers?),
programmers will want that static choices be not made in their place
by the language.
Reflection is a matter of letting the programmer choose what
aspect of the program he will be implementing,
and what aspects he will let existing default packages to handle,
instead of forcing a uniform choice on everyone.
It also allows such choices to be dynamically changed,
without the programmer being bound by earlier mischoices.
== Fare' -- rideau@ens.fr -- Franc,ois-Rene' Rideau -- DDa(.ng-Vu~ Ba^n ==
Join the TUNES project for a computing system based on computing freedom !
TUNES is a Useful, Not Expedient System
URL: "http://www.eleves.ens.fr:8080/home/rideau/Tunes/"