Здравствуйте, LaptevVV, Вы писали:
mgu>>А что плохого в goto? Когда-то написали в газете "Правда", что это плохо, и все повторяют, но никто не может объяснить. LVV>Опять же — читайте классиков! LVV>Писал Дейкстра, писал Кнут. LVV>Но статьи старые, в русском инете не найти. Может быть, есть в английском.
Ну, классики много чего говорили. И про богоугодность каскадной разработки, и про 640 килобайт памяти, и про важность гномиков на интервью.
LVV>Основная мысль состоит в том, что такой код (напичканный goto) LVV>а) трудно читать LVV>б) трудно модифицировать. LVV>Структурное программирование хорошо тем, что каждая конструкция имеет ОДИН вход и ОДИН выход.
Меня терзают смутные сомнения, что return -- это замаскированный goto.
LVV>Это значительно упрощает как чтение, так и модификацию.
С таким подходом бывает, что код заносит вправо за область видимости монитора.
Кстати, "ОДИН выход" уже несколько лет как подвергли анафеме. Ещё недавно в обязательный номер цирковой программы на интервью входило прочитать "catch наш" в правильном порядке. А нынче во все стороны кидаются исключениями, событиями и задержками.
А в старом добром HTML-е один вход, а выхода нет. При этом к структурированности не придерёшься.
А ещё есть yield -- это вообще проходной двор.