angilion at ypical.fsnet.co.uk (Angilion) writes:
> [,alt.religion.wicca,alt.education,alt.religion cut to reduce spamming]
>> On Mon, 15 Jul 2002 07:46:11 -0400, "Parse Tree" <parsetree at hotmail.com>
> wrote:
>> [..]
>> >If Grace Murray Hopper really did invent the compiler, then her impact has
> >been far beyond that of Marie Curie, and most Nobel Laureates in general.
> >http://www.sdsc.edu/ScienceWomen/hopper.html>> It appears that she did invent the compiler, but there does seem to be
> some uncertainty. There is a tendency to exaggerate the achievements
> of any woman who becomes famous in a field, and the exaggerations
> become assumed as fact without the checking that would usually
> occur. For example, I have often read that Grace Hopper invented
> COBOL, which is not true.
The concept of the "first compiler" is shaky. The very first
computers were programmed directly in machine code. (toggles, then
punch cards) Later they were programmed in Assembler, which is a sort
of 1-to-1 mapping of text to machine code. (I oversimplify a lot
here)
C compilers, which are clearly compilers, also mapped fairly simply to
machine code, moreso before the modern C standards and without
optimizations. That's why C has the {pre-increment, post-increment,
pre-decrement, post-decrement} instructions - those instructions were
in the PDP instruction set. There are even simpler compilers than
that, eg "Small C", which leaves out the more complex C constructs.
Which is to say, both an assembler and a compiler generate machine
code (Generally speaking. Sometimes compilers generate other stuff,
eg Java virtual machine code). Both input text and output machine
code object files. The difference is all in the mapping they use.
So how complex does the mapping have to be to be a "real compiler"?
To call something the first compiler, then, you have to draw an
arbitrary line as to when it's source-to-machine-code mapping is
complex enough to count.
But one conclusion I can draw clearly is that whoever stated that
Grace Hopper invented the first compiler couldn't have looked hard at
the question.
Caveat: Everything I've said here is simplified. But the point still
holds.
--
Tom Breton at panix.com, username tehom. http://www.panix.com/~tehom