在今天，许多程序风格编码标准禁止使用GOTO语句。为GOTO语句辩护的人认为，加以限制地使用GOTO语句不会导致低质量的代码，并且声称在许多编程语言中，一些任务如果不使用一条或多条GOTO语句是无法被直接实现的。如有限状态自动机的实现、跳出嵌套循环以及异常处理。大概最着名的对于GOTO的批评是艾兹格·迪杰斯特拉（Edsger Wybe Dijkstra）在1968年的一篇名称为《GOTO语句有害论》的论文。迪杰斯特拉认为不加限制地使用GOTO语句应当从高级语言中废止，因为它使分析和验证程序正确性（特别是