За многие годы я утвердился во мнении о том, что квалификация программистов — функция, обратно зависящая от частоты появления операторов go to в их программах. Позже я открыл, почему оператор go to производит такой пагубный эффект, и я убежден в том, что оператор go to должен быть отменен в языках программирования «высокого уровня» (т. е. отовсюду, кроме, возможно, простого машинного кода). В то время я не счел это открытие слишком важным. Теперь же я отправляю свои соображения для публикации, потому что меня подтолкнула к этому развернувшаяся сейчас дискуссия на эту тему.
Старая песня о главном. Других ассоциаций не возникает ...
Как бы это выразиться... Как в кино с каким-нибудь новым фокусом типа остановки кадра и объезда сцены по кругу :) — применяется не потому, что это что-то дает, а потому что "смотрите, как я могу!" ^)
Cначала нечто начинают бездумно применять везде просто потому, что научились использовать это нечто. Потом приходит отрезвление - явный ведь перебор, может, вообще нужно отказаться от такой возможности?.. И только потом приходит понимание, что все хорошо в меру и на своем месте :)
Вот так и с отрицанием или принятием goto. Все хорошо в меру, и страшные извращения там, где можно написать единственный goto — столь же вредны, как и использование goto там, где ему совершенно не место.