Re: Language Design Principles, was C++ intermediate representation.

nmm1@cus.cam.ac.uk (Nick Maclaren)
18 May 2005 12:05:17 -0400

          From comp.compilers

Related articles
Re: C++ intermediate representation. mefrill@yandex.ru (2005-05-15)
RE: Language Design Principles, was C++ intermediate representation. rabbit@thehole.com (Tom) (2005-05-16)
RE: Language Design Principles, was C++ intermediate representation. nmm1@cus.cam.ac.uk (2005-05-16)
Re: Language Design Principles, was C++ intermediate representation. rbates@southwind.net (Rodney M. Bates) (2005-05-18)
Re: Language Design Principles, was C++ intermediate representation. nmm1@cus.cam.ac.uk (2005-05-18)
Re: Language Design Principles, was C++ intermediate representation. rbates@southwind.net (Rodney M. Bates) (2005-05-19)
Re: Language Design Principles, was C++ intermediate representation. rweaver@ix.netcom.com (Dick Weaver) (2005-05-19)
| List of all articles for this month |

From: nmm1@cus.cam.ac.uk (Nick Maclaren)
Newsgroups: comp.compilers
Date: 18 May 2005 12:05:17 -0400
Organization: University of Cambridge, England
References: 05-05-114 05-05-132 05-05-143 05-05-164
Keywords: design, parse

Rodney M. Bates <rbates@southwind.net> wrote:
>Nick Maclaren wrote:
>> Tom <rabbit@thehole.com> writes:
>>
>> |> I am reminded of Wirth's famous quote: "A language that is simple to
>> |> parse for the compiler is also simple to parse for the human programmer,
>> |> and that can only be an asset."
>> |>
>
>I think I understand that you are rebutting Wirth's statement that
>easy to compile is easy for humans, by counterexample. But what are
>you arguing then? That easy to compile is irrelevant to
>comprehension? Counterproductive to comprehension? Just an
>interesting mental exercise?


Would you believe that I was simply rebutting Wirth's statement, and
not doing anything more? Well, I was :-)


However, I will give you a correct formulation of Wirth's statement:


        A language that is hard to parse for the compiler is also hard
        to parse for the human expert trying to decide if something is a
        bug in the code or the compiler, and that can only be a problem.


However, as any logician knows, ~A => ~B does not imply A => B. While
I agree with Wirth in the desirability of simplicity in parsing, his
aphorism is factually incorrect.




Regards,
Nick Maclaren.


Post a followup to this message

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