On 28 Feb 2010 at 8:48, Russ Bartlett wrote:
Don't forget that the DO loop in Fortan has not
the same effect as an
iteration as the Do condition is performed at the end.? The DO
component is therefore performed at least once.? An iteration must be
able to be performed zero times.?? This was why in JSP it wasn't used.
That was never explicitly stated in FORTRAN 66, although the standard
seemed to imply this--and many vendors chose to implement a test for
zero iterations. Others simply took the idea that a DO was a bottom
increment and test (i.e. do....while()).
The zero-iteration test became the standard in F77 and has been so
ever since--long before the idea of JSP was even a twinkling in its
originators' eyes, so I don't quite get your point.
Subsequent versions of FORTRAN (or Fortran, since we're talking about
F90 and later) included while... and until... forms of iteration.
In general, my point was that there is nothing in any language that
bars horrible programming practices and that the larger the language,
the more opportunity for abuse exists.
Certainly, you've run into PERFORM paragraph-name... varations that
would curl one's hair. COBOL is particularly nasty in this respect
because one can either PERFORM a paragraph or paragraphs remotely or
fall through into them, with completely different results.
I spent several years in the early 70's maintaining a COBOL compiler
and inter-dialect translator for a very large military project with
its army of GSA programmers. More so than in any language I've ever
run into, many problem reports were the result of the user not
knowing the language and much time was spent on problem reports
reciting chapter and verse from the standard.
I think early thought about language extensions and features came
from the viewpoint of "if I can do this in machine
language, why
can't I do it in <fill in your favorite language>?"
And I feel
that the viewpoint made sense in that lost microseconds were
expensive and machines were slow.
Best regards,
Chuck