&quot;GOTO considered harmful&quot; needs to be read in its historical context, where structured programming (for loops, while loops, functions) were new-fangled and under-used.<p>Dijsktra was not arguing against GOTO <i>per se</i>, but rather against unstructured programming.<p>Using GOTO to implement structured programming constructs that did not exist in the language (e.g. JMP in asm) is fine.