[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon Oct 14 09:18:25 1993 
Subject:Re: GC (was Re: Threaded Interpreted Languages) 
From:Tom Khabaza 
Volume-ID:931015.03 

Jonathan Cunningham's contribution tempts me to follow up.  As I have
not followed this discussion closely, please forgive any duplication.

Jonathan and Richard Hartman are correct in saying that GC means you
don't have to think so much about store management.  But does this help?

The answer of course is that it depends on what you're doing.  GC is a
high-level feature in the sense that it takes you further from the
machine; sometimes this is good, and sometimes not.  To illustrate with
two extremes:

(a) Writing a knowledge-based system
    Here one usually works in terms of the application domain, and it is
    an immense overhead to have to consider store and other
    machine-level issues.
    (This is true even for an experienced programmer.)
    Generally one uses something at the level of Prolog or higher.

(b) Writing an operating system
    Here one is intimately concerned with the machine, and store issues
    are paramount.  Something at the level of C or assembler is usually
    used.

Most cases are between these two extremes, and it is important to pick
the right kind of tool for the job.  Pop11 and Lisp are interesting
instances of compromise, having many high-level features such as GC
while trying to give good access to the lower levels.

It's also common for an application to have different modules at
different levels.  For example, because GUIs still tend to be approached
at a fairly low level, a programmer will often find herself needing
relatively low-level facilities for the user interface even if most of
the application has to be approached at a very high level.  And this is
a relatively simple case - often many different levels are involved.  In
such cases one should either use a mixed-level language like Pop11 or
Lisp, or a system like Poplog which allows code at a variety of
different levels to be closely-coupled.

Tom Khabaza, tomk@isl.co.uk