Compiler Design



From: John W. Kennedy <jwkenne@xxxxxxxxxxxxx>
Date: Monday, 22 August 2005 12:45

>ANSI PL/I is ex-post-facto, anyway, and allowing declaration after use
>is just plain bad design, not only from the viewpoint of compiler
>writers,

The idea of a language is that it is easy for users to use.
The question is not whether it is easy or otherwise for compiler
writers to write. That's how the computing world got lumbered with C.

> but from the viewpoint of human users,

Use before declaration is appropriate for procedures,
because it permits the user to place them wherever he/she deems
convenient, not where the compiler writer decides.

> and it's one of several
>faults in the design of PL/I occasioned by the notion that everything
>that wasn't a syntax error and that /might/ have an interpretation,
>/should/ have an interpretation.

That wasn't the design philosophy at all.
It was designed to embody the good features of programming
languages of the time, and at the same time to remove the
arbitrary and senseless restrictions that were the bane of
the then versions of FORTRAN and COBOl and Algol.

> It is obvious how that attitude came
>about, considering the many arbitrary restrictions in FORTRAN and
>FORTRAN II --

and Fortran IV

> I felt the same way myself in 1965 -- but it was a bad
>philosophy that led to a number of flaws in the language.

I don't believe so.


.



Relevant Pages

  • Re: why still use C?
    ... OOP in general tends to be slower. ... As if the compiler didn't know... ... > their associated method functions from a design perspective. ... as a language design I feel it has failed. ...
    (comp.lang.c)
  • Re: Static vs. Dynamic typing
    ... an incorrect construct that will be instantly caught by the compiler. ... Ada contains a built-in capability for concurrency, ... that exists in any language. ... This is a case where design, static typing, ...
    (comp.object)
  • Re: Static vs. Dynamic typing
    ... an incorrect construct that will be instantly caught by the compiler. ... Ada contains a built-in capability for concurrency, ... that exists in any language. ... This is a case where design, static typing, ...
    (comp.programming)
  • Compiler positions available for week ending August 21
    ... Senior Software Engineer, Query Compiler - ... Lecturership in Computer Science, ... We are looking for a compiler engineer to design and implement ... This is a great opportunity to join a high impact team crafting language ...
    (comp.compilers)
  • Re: Why return None?
    ... > That extend doesn't work for strings and tupples is irrelevant. ... If lists were being designed from scratch today, ... A "greenfield design", an entirely new language designed from scratch, ...
    (comp.lang.python)