DDJ>Thoughts on Language Design

A number of people pointed out that if your language has procedure calls and block structure, and your optimizing compiler is sufficiently talented, then goto is merely a special case of a procedure call—not only theoretically, but pragmatically, and if a procedure call without arguments isn’t as fast as a goto, then your optimizing compiler is leaving a lot of performance on the table.