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