Обычно, пока не начнешь сам писать компилятор, не поймешь отчего нежелательно использовать goto.
Goto рушит поток выполнения, вылезает за области видимости и особо вреден в ООП, где масса неявных конструкторов/деструкторов. Любой разработчик компиляторов будет в ужасе, когда он вдруг поймет, что "вот прямо отсюда с середины блока счас прыгнем незнамо куда".
Хотя тот же С++ позволяет использовать goto для совместимости, но его компилятор обкладывает использование goto многими ограничениями, оставляя ему только узкую нишу простейших прыжков в столь же простейших случаях.
goto со времен Алгола-60, которого процедурным не назовешь, не видел. А в ассемблере - переход к номеру ячейки памяти, но не к метке. Не нужен goto в алгоритмических процедурных языках, тем более поддерживающих ООП.
Обычно, пока не начнешь сам писать компилятор, не поймешь отчего нежелательно использовать goto.
Goto рушит поток выполнения, вылезает за области видимости и особо вреден в ООП, где масса неявных конструкторов/деструкторов. Любой разработчик компиляторов будет в ужасе, когда он вдруг поймет, что "вот прямо отсюда с середины блока счас прыгнем незнамо куда".
Хотя тот же С++ позволяет использовать goto для совместимости, но его компилятор обкладывает использование goto многими ограничениями, оставляя ему только узкую нишу простейших прыжков в столь же простейших случаях.
Экстрим с выходм за пределы блоков со срабатыванием деструкторов не пользовал. Но для досрочного выхода из вложенных циклов и для перехода из различных условий в одну точку или в разные точки goto незаменим для упрощения кода. При чём, упрощение не только выполнения кода, но и визуальное.
Экстрим с выходм за пределы блоков со срабатыванием деструкторов не пользовал. Но для досрочного выхода из вложенных циклов и для перехода из различных условий в одну точку или в разные точки goto незаменим для упрощения кода. При чём, упрощение не только выполнения кода, но и визуальное.
Да ладно тут в религиозные войнушки играть. Ну нет goto - и фих с ним.
Не помню такой ситуации, когда он так уж и требовался, до кипения серы в ушах. Даже не помню, когда в голове была мысль типа "эхх, сюда б goto...". Не было такой. При этом совсем не могу сказать, что мои алгоритмы такие уж элементарные.
Точно так же по неким мистическим причинам можно было бы оставить goto, но запретить for. И ничего, справились бы.
Да ладно тут в религиозные войнушки играть. Ну нет goto - и фих с ним.
Не помню такой ситуации, когда он так уж и требовался, до кипения серы в ушах. Даже не помню, когда в голове была мысль типа "эхх, сюда б goto...". Не было такой. При этом совсем не могу сказать, что мои алгоритмы такие уж элементарные.
Точно так же по неким мистическим причинам можно было бы оставить goto, но запретить for. И ничего, справились бы.
Нет, так не честно. Никогда не пользуюсь for,но он безвреден.
Обычно, пока не начнешь сам писать компилятор, не поймешь отчего нежелательно использовать goto.
Goto рушит поток выполнения, вылезает за области видимости и особо вреден в ООП, где масса неявных конструкторов/деструкторов. Любой разработчик компиляторов будет в ужасе, когда он вдруг поймет, что "вот прямо отсюда с середины блока счас прыгнем незнамо куда".
Хотя тот же С++ позволяет использовать goto для совместимости, но его компилятор обкладывает использование goto многими ограничениями, оставляя ему только узкую нишу простейших прыжков в столь же простейших случаях.
Обычно, пока не начнешь сам писать компилятор, не поймешь отчего нежелательно использовать goto.
Goto рушит поток выполнения, вылезает за области видимости и особо вреден в ООП, где масса неявных конструкторов/деструкторов. Любой разработчик компиляторов будет в ужасе, когда он вдруг поймет, что "вот прямо отсюда с середины блока счас прыгнем незнамо куда".
Хотя тот же С++ позволяет использовать goto для совместимости, но его компилятор обкладывает использование goto многими ограничениями, оставляя ему только узкую нишу простейших прыжков в столь же простейших случаях.
Экстрим с выходм за пределы блоков со срабатыванием деструкторов не пользовал. Но для досрочного выхода из вложенных циклов и для перехода из различных условий в одну точку или в разные точки goto незаменим для упрощения кода. При чём, упрощение не только выполнения кода, но и визуальное.Да ладно тут в религиозные войнушки играть. Ну нет goto - и фих с ним.
Не помню такой ситуации, когда он так уж и требовался, до кипения серы в ушах. Даже не помню, когда в голове была мысль типа "эхх, сюда б goto...". Не было такой. При этом совсем не могу сказать, что мои алгоритмы такие уж элементарные.
Точно так же по неким мистическим причинам можно было бы оставить goto, но запретить for. И ничего, справились бы.
Да ладно тут в религиозные войнушки играть. Ну нет goto - и фих с ним.
совсем не могу сказать, что мои алгоритмы такие уж элементарные.
Да ладно тут в религиозные войнушки играть. Ну нет goto - и фих с ним.
Не помню такой ситуации, когда он так уж и требовался, до кипения серы в ушах. Даже не помню, когда в голове была мысль типа "эхх, сюда б goto...". Не было такой. При этом совсем не могу сказать, что мои алгоритмы такие уж элементарные.
Точно так же по неким мистическим причинам можно было бы оставить goto, но запретить for. И ничего, справились бы.
Нет, так не честно. Никогда не пользуюсь for,но он безвреден.