goto considered harmful” - really?!

February 23, 2014

Apple announced security content for iOS 7.0.6 (details here and here). And I can already foresee the old debate about goto statements coming up again: Dijkstra wrote that they’re considered harmful, ugly, and unstructured (or something on these lines).

It’s ridiculous to consider a wrong goto more buggy than any other misplaced statement. The offending Apple goto could be replaced by different duplicated code/logic, and still produce the same vulnerability.

I don’t like to employ backward gotos. I think they’re confusing and error prone. But forward gotos are usually fine. This can be seen in beautiful code all the time. On the other hand, it’s perfectly possible to develop really ugly beasts without gotos.

You can write Fortran in any language”, the old saying says. And you can write QBasic in any language that supports gotos.