Path: utzoo!attcan!uunet!lll-winken!ncis.llnl.gov!helios.ee.lbl.gov!nosc!ucsd!rutgers!mailrus!purdue!decwrl!decvax!ima!compilers-sender From: kurt@tc.fluke.com (Kurt Guntheroth) Newsgroups: comp.compilers Subject: Re: Why can't we build a C compiler? Message-ID: <3228@ima.ima.isc.com> Date: 25 Jan 89 22:56:28 GMT Sender: compilers-sender@ima.ima.isc.com Reply-To: kurt@tc.fluke.com (Kurt Guntheroth) Organization: John Fluke Mfg. Co., Inc., Everett, WA Lines: 39 Approved: compilers@ima.UUCP In-Reply-To: <3210@ima.ima.isc.com> 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 -- Send compilers articles to ima!compilers or, in a pinch, to Levine@YALE.EDU Plausible paths are { decvax | harvard | yale | bbn}!ima Please send responses to the originator of the message -- I cannot forward mail accidentally sent back to compilers. Meta-mail to ima!compilers-request