[gclist] Collector in language definition.

Charles Fiterman cef@geode.geodesic.com
Fri, 19 Apr 1996 15:00:11 -0500


There is a very powerful reason for having
Garbage Collection implied by a language
definition. It is required for a type safe
language.

Given a reference to a foo object a type
safe language guarantees that all methods
sent to the reference will match or produce
a compile error. The reference can point
to any public decendent of class foo but
not to anything else.

Without a garbage collector the target of
the reference can be deleted and the storage
used for something else. This destroys any
hope of type safety.

Type safe languages can have functional and
class composition and all sorts of powerful
things that wouldn't go in unsafe languages.
Maybe you wouldn't want them for a small class
of programs where performance is the master
consideration but for most code type safety is
the only way to go.