Telegram Web
Об goto

На русском языке довольно сложно подобрать адекватный перевод слова overreaction. Разгадка проста - у нас не бывает "нормальной" реакции, у нас все реакции нормально так "овер". А знаете, у кого еще такая реакция? У программистов.

Достаточно кому-то вбросить красивую, абстрактную, умно звучащую идею, лучше если это будет авторитет - и все, переубедить невозможно.

-

Мне в жизни доводилось разнимать программистов, которые не могли мирно разойтись по вот какой причине: один поставил goto в коде, а второй кричал, что goto в коде будет только через его остывший труп.

Почему? Потому что сказали, что "goto considered harmful"! Кто сказал? Авторитет. Кто-то проверял? Нет, если научная наука доказала, то можно уже не думать самостоятельно. Кто-то сравнивал альтернативы? И в мыслях не было.

Может ли маленький goto испортить код? Некогда думать, код надо писать.

А почему тот самый Авторитет (Дийкстра) так сказал - может быть, у Авторитета был контекст? Ну да, был, именно этот контекст довел "Авторитета" до той радикальной точки зрения, которую не думая принял и потащили.

Я вам этот контекст ниже картинкой покажу. А вы что думаете про goto?
👍24💩7🤡6
Тот самый контекст того самого Авторитета. Просто в его время так выглядели 99% программ.

(на картинке кусочек листинга компилятора Pascal->P-Code из книги "The byte book of Pascal")
👍13💩4🤡4
👍30🤡7💩4
Господин Архитектор
Photo
Ну и чтоб два раза не вставать -- в листингах я использую табы, потому что только их и надо использовать.

От этого выбора сплошные плюсы: можно редактировать в самом простейшем редакторе, можно настроить визуальную ширину отступа, какая нравится (в Аде принято 1 таб -- 3 пробела на экране), всякие diff табы понимают, как и питоны.

Да и семантически это более корректно: пробел это разделитель токенов, а табуляция всегда нужна была для расстановки по сетке, что и происходит.
👍32🤡19💩1
2025/10/15 21:38:11
Back to Top
HTML Embed Code: