[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: another take on hackers and painters
Steve Dekorte <firstname.lastname@example.org> writes on dynamic compilation of
Java and friends:
> For simple expressions, I agree. But the general case might be trickier
> than it sounds. For example, could you add/remove ivars from a class
> that other classes inherit from at runtime? (Does Java compile
> references to ivars as pointer offsets causing a fragile base class
> problem?) Can you change existing methods at runtime? What if the
> method argument types change? Can you change a type definition at
> runtime? What happens to the rest of the code in the system that
> depends on the old type?
Sure, these are all hard questions, and many of them have multiple
reasonable answers. The real question here is this: What do we do
with existing instances and client classes when a class definition
I submit that this problem exists in any language you care to
name---just replace "class" by "data structure" and "client classes"
by "code and data which refer to that data structure" if your language
lacks classes. There's no magic here. All solutions I have seen seem
arbitrary in one way or another.