Почему valenok2003 против МТ5 - страница 23

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

Goto рушит поток выполнения, вылезает за области видимости и особо вреден в ООП, где масса неявных конструкторов/деструкторов. Любой разработчик компиляторов будет в ужасе, когда он вдруг поймет, что "вот прямо отсюда с середины блока счас прыгнем незнамо куда".

Хотя тот же С++ позволяет использовать goto для совместимости, но его компилятор обкладывает использование goto многими ограничениями, оставляя ему только узкую нишу простейших прыжков в столь же простейших случаях.

goto со времен Алгола-60, которого процедурным не назовешь,  не видел. А в ассемблере - переход к номеру ячейки памяти, но не к метке. Не нужен goto  в алгоритмических процедурных языках, тем более поддерживающих ООП.

Renat:

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

Goto рушит поток выполнения, вылезает за области видимости и особо вреден в ООП, где масса неявных конструкторов/деструкторов. Любой разработчик компиляторов будет в ужасе, когда он вдруг поймет, что "вот прямо отсюда с середины блока счас прыгнем незнамо куда".

Хотя тот же С++ позволяет использовать goto для совместимости, но его компилятор обкладывает использование goto многими ограничениями, оставляя ему только узкую нишу простейших прыжков в столь же простейших случаях.

Экстрим с выходм за пределы блоков со срабатыванием деструкторов не пользовал. Но для досрочного выхода из вложенных циклов и для перехода из различных условий в одну точку или в разные точки goto незаменим для упрощения кода. При чём, упрощение не только выполнения кода, но и визуальное.

Zhunko:

Экстрим с выходм за пределы блоков со срабатыванием деструкторов не пользовал. Но для досрочного выхода из вложенных циклов и для перехода из различных условий в одну точку или в разные точки goto незаменим для упрощения кода. При чём, упрощение не только выполнения кода, но и визуальное.

Особенно, когда его пользуют 554 тысячи балбесов.

Да ладно тут в религиозные войнушки играть. Ну нет goto - и фих с ним.

Не помню такой ситуации, когда он так уж и требовался, до кипения серы в ушах. Даже не помню, когда в голове была мысль типа "эхх, сюда б goto...". Не было такой. При этом совсем не могу сказать, что мои алгоритмы такие уж элементарные.

Точно так же по неким мистическим причинам можно было бы оставить goto, но запретить for. И ничего, справились бы.

Mathemat:

Да ладно тут в религиозные войнушки играть. Ну нет goto - и фих с ним.

совсем не могу сказать, что мои алгоритмы такие уж элементарные.

Ну, дык показал бы :)
tara: Ну, дык показал бы :)
А вот возьми-ка ты и покажи такой алгоритм, в котором с goto изячнее, чем без него.
Mathemat:

Да ладно тут в религиозные войнушки играть. Ну нет goto - и фих с ним.

Не помню такой ситуации, когда он так уж и требовался, до кипения серы в ушах. Даже не помню, когда в голове была мысль типа "эхх, сюда б goto...". Не было такой. При этом совсем не могу сказать, что мои алгоритмы такие уж элементарные.

Точно так же по неким мистическим причинам можно было бы оставить goto, но запретить for. И ничего, справились бы.


Нет, так не честно. Никогда не пользуюсь for,но он безвреден.
tara: Нет, так не честно. Никогда не пользуюсь for,но он безвреден.
Ну while-то ты пользуешь? Дык тот же for по сути.
tara: Не совсем.
Любой for можно заменить на сооветствующий while - и наоборот. И вряд ли какая-то из этих конструкций будет явно экономнее другой.