Path: utzoo!attcan!uunet!lll-winken!lll-tis!mordor!joyce!sri-unix!garth!smryan From: smryan@garth.UUCP (Steven Ryan) Newsgroups: comp.lang.c Subject: Re: volatile: a summary Summary: Perfect Compilers Message-ID: <751@garth.UUCP> Date: 17 Jun 88 19:55:15 GMT References: <11837@mimsy.UUCP> <3811@pasteur.Berkeley.Edu> <580@wsccs.UUCP> <700@fxgrp.UUCP> <5807@bloom-beacon.MIT.EDU> Reply-To: smryan@garth.UUCP (Steven Ryan) Organization: INTERGRAPH (APD) -- Palo Alto, CA Lines: 23 Church: Our Lady of Reluctant Software. >You people need to understand that Chris is being extremely >theoretical, to the point of pedagogy (not meant pejoratively), >here. It took me several readings of several of his articles >(which I was quite willing to do, because Chris is a trustworthy >sort) to realize that he does, as usual, know what he is talking >about. Chris is correct when he says that "a perfect compiler >would not need volatile" but he is not saying that such a >compiler would be reasonable. Of course if such a perfect compiler exists (even if only in the abstract sense), ... The problem is his assertion such a compiler exists without proof, demonstration, argument, or any other foundation. It is as silly to argue what a hypothetical compiler, whose existence is merely asserted, what it can do as to argue that a tree falling in an empty forest makes no sound. If such a compiler can be shown to exist, reasonable or unreasonable, his argument about the necessity of volatile is correct. If such a compiler is shown to be impossible, his argument is wrong. Remember the mess mathmatics was in at the end of the last century because people went around asserting their theorems without a solid foundation or a formal proof. (Who will be Hilbert of computer science? Dijkstra? Hoare?)