Tomba писал(а):
бредятина полная имхо...
не вижу никакой ПРИНЦИПИАЛЬНОЙ разницы в конструкциях
Goto РасчетКФсучетомПоправки - которая адресует на 50 строк вниз по коду
и
CALL РасчетКФсучетомПоправки(); - которая адресует на 5000 строк вверх по коду программы.
.
все определяется уместностью использования Goto/
если мне гото позволит избежать 5и уровневого вложения Если и обойтисб 1 уровнем - я тут же заюзаю гото...
.
текст должен быть читабелен, понятен, и т.п. - какими методами это достигается - абсольтно все равно...
.
понятно что неиспользование гото на даннфй момент является дефакто стандартом, но отказываться от гото, там где он реально помогает - глупо...
Из Ваших слов видно, что Вы не делаете различий между программой и программными конструкциями, то есть для Вас программа - это один сплошной текст, портянка на тыщу строк. С этой позиции - что GOTO, что вызов процедуры - один хрен.
Прыжок GOTO ни в жисть не является более "читабельным", и я готов эту точку зрения отстаивать хотя бы с той позиции, что при передаче управления, надо проверять как входные условия, так и выходные. GOTO не может это обеспечить, хотя бы в силу своей примитивности, поэтому семантическая нагруженность GOTO больше, и читать его сложнее (надо прочесть и понять не только строчку с GOTO, но и контексты стартовой и конечной точек). Другими словами, текст с GOTO является
более сложным, более
тяжёлым в смысловом плане, а не в плане количества буковок.
И вообще, мне всё чаще кажется, что "читабельностью" называют вовсе не удобочитаемость, а краткость записи. То есть, писабельность. Согласен, GOTO более писабелен.
TAU писал(а):
И все-таки в жизни так оно и обстоит: и на ассемблере программируют (сейчас, а не "в стародавние времена", ...
Я имел в виду, что за неимением других средств структурирования, GOTO - в самый раз. В своё время я напрограммировался на ассемблере, помню хорошо