Таблица. Дискуссия по поводу "Разумного GoTo"
Приложение к статье "Go to" — выражение из четырех букв

Выдержки из статьи "Разумный GoTo" Андрея Калинина Комментарий Андрея Колесова
"Было бы неверным считать, что операторы ветвления полностью заменили GoTo" Современные языки программирования позволяют полностью исключить GoTo. Это доказано теоретически и подтверждается практикой разработки
"Зачем нам чистота программного кода, если она достигнута за счет превращения программы в бесполезного, с трудом ворочающего мастодонта". Именно чистота кода (а точнее — выполнение технологических требований) обеспечивает создание полезных и эффективных приложений. Мастодонты получаются, как раз в случае нарушения технологии. Не нужно оправдывать неумение писать эффективный код отсутствием GoTo.
"Никому доподлинно неизвестно, что лучше: писать программы, которые новички смогут читать как художественную прозу, либо вообще не принимать во внимание то, что даже опытный программист не сразу поймет, зачем нужна та или иная строчка". Это неизвестно только тем, что не изучал программирование (не нужно путать освоение синтаксиса языка с изучением методов программирования). В одной книге еще 70-х годов содержится четкая рекомендация: если программист пишет непонятный код, то для пользы дела лучше всего его уволить.
"Большая часть правил имеет перед собой цель... заставить опытных программистов не смущать новичков "неправильными" приемами". Главный признак опыта заключается именно в понимании необходимости придерживаться правил. Один из отцов структурного программирования профессор Э.Дейкстра еще в 1965-м году заявил, что "квалификация программиста обратно пропорциональна числу операторов GoTo в его программах" (в те времена языки программирования не включали конструкции, позволяющие полностью исключить GoTo").
"Мне кажется, нельзя исходить из того, что некоторая конструкция языка дает возможность программисту совершить ошибку". Технология программирование требует исходить именно из этого. Данный тезис имеет научное доказательство.
"Как бы ни были плохи эти конструкции (с точки зрения их понятности для досужего читателя исходных текстов), их все равно приходится использовать". Понятность код нужна для самого разработчика, а не для "досужих" читателей. И совсем непонятно, зачем нужно использовать плохие конструкции.
"В этом виновата не языковая конструкция, а программист, который ее так использовал". Понятное дело: "компьютер в руках дилетанта — кусок железа". Требования к наличию квалификации у программиста никто не отменял. Но главная идея технологии — максимально обезопасить системы от возможных ошибок разработчика.