Have we forgotten what's wrong with goto statements?
I saw a Usenet discussion recently on the question: Is a continue statement (in C or C++) something to avoid? What struck me about the discussion was how many people contributed to the discussion by stating their opinions and going no further.
One popular argument was that a continue statement was just another way of spelling goto, and because goto statements are evil, continue statements are also evil. Of course this argument is not completely true, because if a continue statement were just another form of goto, there would be no reason to have both statements in the language. How much of a problem results from this difference depends, then, on whether the differences between continue and goto are related to the reasons for avoiding goto statements in the first place.
The most commonly stated reason for avoiding goto statements is that they are "hard to understand." This claim, of course, is nothing more than a statement of opinion unless there is supporting evidence to back it up.
Before I tell you what I think about continue statements and why, I'd like to invite readers to comment about why they think goto statements are problematic, and how those opinions might relate to continue statements.