Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!decwrl!megatest!djones
From: djones@megatest.UUCP (Dave Jones)
Newsgroups: comp.sw.components
Subject: Re:  Re: Garbage Collection & ADTs
Message-ID: <8309@goofy.megatest.UUCP>
Date: 27 Sep 89 00:25:10 GMT
References: <599@hsi86.hsi.UUCP>
Organization: Megatest Corporation, San Jose, Ca
Lines: 41

From article <599@hsi86.hsi.UUCP>, by wright@hsi.UUCP (Gary Wright):
..
> 
> Well, I have *never* encountered a situation that absolutely demanded using
> a high level language.   That is why I still do all my programming in
> assembly. :-)
> 

Sorry, but I'm too tired of this assembler-hll analogy for a smiley to save
you. Grumble. Ggrrrrrrrrrrrrmpf.  Okay, okay, here: :-)  (Sort of.)

The analogy is particularly inappropriate in this context, because
Assembler and HLL are two techniques for preparing a program, whereas
automatically garbage-collected and explicitly garbage-collected
programs are different end-results.*

Automated garbage collection is runtime overhead.

It will take quite a bit of convincing to make me believe
that it is universally necessary or desirable.  I'm not saying it's
impossible, only that it's going to take better arguments than I've seen
so far. So in the mean time, I want the option of not using it. So
far I have used it approximately, now let's see.. approximately zero
times, give or take once.


*  The principle advantage of high-level languages over assembler
   is usually that it makes the program portable. It is a myth that assembly
   language programming is necessarily tedious and slow. Back in the mid to
   late seventies, there were macro-assembler and macro packages that made
   assembly language programming virtually as easy as programming in high level
   languages. I wrote one once. It handled procedure call/return, nested
   loops, structures, and all that sort of languagy kind of stuff quite nicely.
   Those macro packages were the evolutionary antecedants of HLLs.

   Languages like C++ do automate some rather tedious name-space manipulation,
   and that is another win. But many of the even "higher" level languages kind
   of miss the boat by making the syntax of the language reflect library-routine
   functionality.  I like new AWK, for example, but I really
   wish it were written as C++ classes, so that I could integrate it with
   my own stuff.