Тут перевод TADS-мануала неожиданно натолкнул меня на мысль: что может заставить современнх программистов использовать оператор безусловного перехода a.k.a. goto? Речь, естественно, идет не о программировании на Ассемблере, Fortran 66 и т. п., а о более-менее структурированных языках, позволяющих теоретически вообще без него обойтись. Обращаюсь к программистам среди наших форумчан (их, к счастью, есть у нас:): пользуетесь ли вы оператором goto и в каких целях?
Начну, как положено, с себя. Я goto пользуюсь, пожалуй, исключительно при программировании на Visual Basic for Applications. Делаю это по следующим причинам: во-первых, ряд процедур удобнее генерировать при помощи встроенных "визардов", а они их генерят как раз с активным использованием goto. Править каждый раз такую процедуру вручную, убирая goto - значит сводить на нет все преимущества автоматизации;). Во-вторых, безусловный переход на метку в VBA удобно использовать при проверке на возникновение ошибки. В этом случае все обработчики ошибок локализуются в конце процедуры, что делает код в целом более читаемым. И, хотя теоретически подобной группировки можно добиться и другими средствами (и, например, программируя на Паскале, я бы совершенно точно организовал такую группировку без goto), в VBA такой способ кажется почему-то наиболее естественным и удобным.
Отредактировано uux (17.08.2007 21:40)
Неактивен
Хыхы, оборжаться, ребята. Топик - сахар.
Volk, имхо, типичный продукт 21го века, путающийся в причинно-следственной связи. Ну научили так человека. А отрицание пресвятого джампа и поклонение перед свитч кейсом это было очень забавно
По аналогии: "я не работаю с атомами, атомы - отстой, вот молекулы это да-а, я и них любое вещество сделаю". С одной стороны с этим не поспоришь, с другой сразу видно где проблема.
VoLk88 написал:
А ассемблер и яву очень различаются, что приемлимо в ас-ре, то несовсем в яву. Я конечно понимаю, что в асме без этого никак (достаточно открыть любую прогу в отладчике и всё будет в сплошных переходах, но без этого-то там никак!)
Без этого везде никак, ты сам пишешь сплошными гоуту, просто об этом не догадывается
Просто заботливый компилятор потом за тебя вставляет наши любимые гоуту вместо всяких заумных конструкций.
VoLk88 написал:
Спасибо за замечания, конечно, но пока я GoTo ни разу не использовал за всю свою жизнь.
Когда внезапно понадибится использовать(для оптимизации кода, написании асемблерной вставки или ещё в какой ситуаци) снововка в использовании гоуту не помешает ![]()
"Поэтому, может показаться, что вариант C# строже и конкретней C++, но он дает гарантии разумного использования команд, так чтобы не было возможности нарушить логичность кода."
Честно говоря, боюсь, такую гарантию могут дать только правильно настроенные мозги.
А на урке гоуту не пишут, ими там дышат и живут
На том и стоим.
ЗЫ: главное, теперь понятно какой теме надо было посвятить сайт
А то, фи, игры какие-то.
Отредактировано Евг (23.08.2007 16:17)
Неактивен
VoLk88 написал:
Может новый топик начать: "Великий и могучий Вайл Неубиваемый", так там найдутся те, кто скажет, что без него никак и всё тут и скрещивать самому цикл с условием можно, но геморно, хотя в машинном коде всё будет аналогично, просто дело удобства.
Хыы, ещё одно предложение месяца. Давай! ![]()
Неактивен