Related articles |
---|
Why context-free? nmm1@cus.cam.ac.uk (2005-10-06) |
Re: Why context-free? gah@ugcs.caltech.edu (glen herrmannsfeldt) (2005-10-09) |
Re: Why context-free? nmm1@cus.cam.ac.uk (2005-10-13) |
Re: syntax extension, was Why context-free? toby@telegraphics.com.au (toby) (2005-11-01) |
Re: syntax extension, was Why context-free? nmm1@cus.cam.ac.uk (2005-11-01) |
Re: syntax extension, was Why context-free? 148f3wg02@sneakemail.com (Karsten Nyblad) (2005-11-01) |
Re: syntax extension, was Why context-free? gah@ugcs.caltech.edu (glen herrmannsfeldt) (2005-11-02) |
Re: syntax extension, was Why context-free? haberg@math.su.se (2005-11-02) |
Re: syntax extension, was Why context-free? toby@telegraphics.com.au (toby) (2005-11-04) |
Re: syntax extension, was Why context-free? henry@spsystems.net (2005-11-26) |
Re: syntax extension, was Why context-free? haberg@math.su.se (2005-11-27) |
Re: syntax extension, was Why context-free? mpah@thegreen.co.uk (2005-12-08) |
Re: syntax extension, was Why context-free? rfigura@erbse.azagtoth.de (Robert Figura) (2005-12-15) |
[2 later articles] |
From: | glen herrmannsfeldt <gah@ugcs.caltech.edu> |
Newsgroups: | comp.compilers |
Date: | 2 Nov 2005 22:09:27 -0500 |
Organization: | Compilers Central |
References: | 05-10-053 05-10-068 05-10-075 05-11-006 05-11-013 |
Keywords: | design |
Posted-Date: | 02 Nov 2005 22:09:27 EST |
Nick Maclaren wrote:
(snip)
(the moderator wrote)
> [You keep mentioning your failure to write a correct perl program on
> the first try, but I can't figure out what conclusion we're supposed
> to draw.
(snip)
> I don't think my first
> perl program worked either, nor did my first Lisp, C, Basic, Algol 60,
> PL/I, Fortran, or Varian 620 assembler program, but I don't think it
> was the languages' fault. (Well, maybe for C.)
I think one is that some languages make it easier for the compiler to
recognize when you did something wrong. C is not one of those
languages.
One Fortran feature that I still remember from watching so many
beginning programmers run into it is the ability to pass a function
address to a subroutine or function. It is easy for beginning
programmers to forget (as in not ever realize) that arrays must be
dimensioned in subroutines in addition to the calling program. If you
forget and only use the array on the right side of assignment
statements there is no compilation error. Fortran instead assumes it
is being passed a function address and executes the contents of the
array.
I believe that more language designers are recognizing the problem and
designing languages to reduce it. Also, more compilers issue warnings
for legal but confusing constructs, though sometimes I am not so happy
with those warnings.
-- glen
Return to the
comp.compilers page.
Search the
comp.compilers archives again.