Goto's are *not* the problem. They never were. The problem is programmers who use goto's in such a way that it makes code extremely difficult to follow, and possibly places code into an indeterminate state (remember, not every language will be as strict as C++ is). Goto's are just the gun - but the programmer is the one who points it at his foot and pulls the trigger.

In the past I've used goto's on occasions where I concluded it was the best course of action (or, more usually, the least risky course). There's nothing wrong with doing that so long as you are aware of the possible consequences. But new coders dont necessarily have that sense and can make a major mess of things. So I suspect its far simpler to just teach them never to use gotos.