For those who are interested, here is a link to one of the reasons behind the cargo cult notion of no gotos. This of course is “Go To Statement Considered Harmful”, E. Dijkstra's famous letter to the editor of Communications of the ACM, Vol. 9, No. 5 (May 1966), pp. 366-71. Like the basis of many such things, it doesn't quite say what many think—and in any event, should be read by anyone who programs or even pretends to program!
Another article that should be read in this context is found here. Actually the link is to a .pdf file created from scanner input. But still legible for all of that. This paper, “Structured Programming with go to Statements”, is by Donald Knuth, published in Current Trends in Programming Methodology, Vol. 1, Raymond T. Yeh, ed., New York, NY., 1977. In it Knuth details a history of the go to discussion and then follows with his position and rationale.
This pair make a good start, but only a start. If you want more before you come to an informed opinion, try Classics in Software Engineering Editied by Edward Nash Yourdon, New York, NY., Yourdon Press, 1979. While sadly out of print, this shows up from time to time at Powell's Technical in Portland. Try http://www.powells.com/technicalbooks
–hsmp.s. Do I use gotos? Of course I do, I'm an assembler hack—can't get there from here without them!
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link or
or How to display code and escape characters
are good places to start.