I admit that the example is contrived, and the control flow can be followed quite clearly because of the example's size.
However, imagine that f and g is placed in different source files in a large project. That's what Dijkstra detests about arbitrary labels, in that a program's control flow is only obvious to the guy who first wrote it.
No comments yet.