The fact that so many people responded to my letter, but did not see this error, supports my view that GOTO-less programming
is not inherently clearer or easier to debug.
The idea behind GOTO-less programming
is to try to give programmers a better feel for the three basic structures and to discourage programmers from using GOTOs as shortcuts.
In the second portion he presents sample programs that illustrate many of the things I find objectionable about GOTO-less programming
: extra flags (az), gratutitous subroutines (allZero), and unneeded recursion (second program).
Like Rubin, i believe it is time to part from the dogma of GOTO-less programming
. Unlike him, however, I think it would be a retrograde step to rehabilitate the GOTO.