Re: Why can't we build a C compiler?

kurt@tc.fluke.com (Kurt Guntheroth)
Wed, 25 Jan 89 14:56:28 PST

          From comp.compilers

Related articles
[9 earlier articles]
Re: Why Can't We Build a C Compiler? unido!gmdzi!jc@uunet.uu.net (1989-01-05)
Why can't we build a C compiler? think!compass!worley@EDDIE.MIT.EDU (1988-12-19)
Re: Why Can't We Build a C Compiler? jbs@fenchurch.mit.edu (1989-01-03)
Re: Why can't we build a C compiler? uokmax!glcowin@Central.Sun.COM (1989-01-18)
Re: Why can't we build a C compiler? limonce@pilot.njin.net (1989-01-24)
Re: Why can't we build a C compiler? waterloo.edu!cognos!rayt@RELAY.CS.NET (R.) (1989-01-25)
Re: Why can't we build a C compiler? kurt@tc.fluke.com (1989-01-25)
| List of all articles for this month |

Date: Wed, 25 Jan 89 14:56:28 PST
From: kurt@tc.fluke.com (Kurt Guntheroth)
Newsgroups: comp.compilers
In-Reply-To: <3210@ima.ima.isc.com>
Organization: John Fluke Mfg. Co., Inc., Everett, WA

A Dissenting Opinion


I view this whole argument as specious. Why can't we build a C compiler?
Who shall say that we have not? The compilers we build for C are as perfect
(and often more perfect) as any other artifice of man. Do we build skyscrapers
with no mistakes? Of course not. There are thousands of missing rivets,
wiring that is incorrect, panels that don't quite meet. The result is still
arguably a skyscraper, even though it is not the ideal one. Do we not find
'bugs' in a new car that must be returned to the dealer for warranty service?
Can we find no examples of great art that nevertheless have weak passages,
awkward angles or colors that seem ill-considered?


Formal semantics come and go. They are like programming languages. They
capture parts of the language but ignore other parts. Semantics themselves
are subject to incorrectness and inappropriateness. To be understandable
and provable (and provable should appear in quotes since there is a whole
branch of philosophy dedicated to what that word means) they must be simple
and brief. But then they compromise on the fidelity with which they represent
the real world. Most semantics capture the complexity of a language compiler
about as completely as a simple parabola captures the motion of a baseball
through the air; very well sometimes, and very poorly other times.


Let us argue about which semantic models are most useful for generating
compilers that work as we expect. Let us debate the merits of methods for
generating code without mistakes. Let us not waste our breath whining about
how man can never achieve the perfect parabola of the ideal, but instead talk
about how to make our practice better.


Can we move the subject "Why can't we build a C compiler?" to talk.philosophy
and concentrate on what is important?
Kurt Guntheroth
John Fluke Mfg. Co., Inc.
{uw-beaver,decvax!microsof,ucbvax!lbl-csam,allegra,ssc-vax}!fluke!kurt
kurt@tc.fluke.COM
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.