The adamant refusal of APL language designers and implementers, myself included, to move away from GOTO and adopt the control structures now standard in just about all imperative languages was, perhaps, part of his rationale for railing against APL.
Now that all array languages have them, we consider GOTO an archaic anomaly. Control structures offer significant advantages over GOTO besides code readability and encouragement of a literate coding style: They facilitate improved analysis of code. For example, conversion to Static Single Assigment form can be done in an almost-single pass if the language being compiled does not contain GOTO. This, in turn, allows one to determine, statically (without having to execute the code), if a program contains any value errors. It is these sorts of properties that languages must possess, if we are to move programming from being a craft to being an engineering discipline. So, we might argue about Dijkstra's approach, but he certainly had the right idea. Bob On Tue, 2007-11-06 at 12:08 -0500, Raul Miller wrote: > On 11/6/07, Devon McCormick <[EMAIL PROTECTED]> wrote: > > That's a good guess though in the essay where he says this - > > http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html - he does not > > elaborate. > > Not in his essay, but consider statements such as > http://www.cs.utexas.edu/users/EWD/transcriptions/EWD02xx/EWD215.html > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
