Название: Стоит ли использовать оператор goto в программировании и почему. Отправлено: vimmax от Февраль 23, 2007, 11:55:17 В одной викторине было упомянуто, что от оператора goto следует вообще отказаться и не использовать его в программировании.
Хотелось бы узнать различные мнения и причины. Касается всех языков программирования: asm, C / C++, Delphi, Basic, Java, и др. Кто что может сказать? Лично я ответа не знаю, иначе этот вопрос был бы новой темой раздела "Викторины"))))))) Слышал от преподавателей в универе что нежелательно, а почему никто объяснить толком не смог. Название: Re: Стоит ли использовать оператор goto в программировании и почему. Отправлено: Sochin от Февраль 23, 2007, 12:26:03 Потому что этот оператор при постоянном использовании в программах на ЯВУ нарушает принципы структурного программирования и затрудняет развитие проекта в будущем. Хотя сам по себе единичный goto ничего страшного не привносит.
Эдсгер Дейкстра, знаменитый ученый, лауреат Премии Тьюринга еще в 1968 году описал все "прелести" этого оператора. Вот его статья: Go To Statement Considered Harmful (http://www.acm.org/classics/oct95/). Название: Re: Стоит ли использовать оператор goto в программировании и почему. Отправлено: vimmax от Февраль 23, 2007, 12:57:02 Sochin - почитал, спасибо. вопросов больше нет.
Название: Re: Стоит ли использовать оператор goto в программировании и почему. Отправлено: San_V от Март 06, 2007, 12:28:35 Когда пишешь непосредственно для микропроцессора на ассемблере, без goto вообще никак нельзя обойтись. Даже теоретически. Если посмотреть прогу, написанную на С и после компиляции, она вся набита операторами jmp, т.е. оператором безусловных переходов.
Название: Re: Стоит ли использовать оператор goto в программировании и почему. Отправлено: Sochin от Март 06, 2007, 03:07:22 San_V, речь идет об ЯВУ и о исходниках. Никто не говорит отменить безусловные переходы в асме. ))
Название: Re: Стоит ли использовать оператор goto в программировании и почему. Отправлено: San_V от Март 06, 2007, 05:52:00 Касается всех языков программирования: asm, C / C++, Delphi, Basic, Java, и др. Кто что может сказать? Речь идет и об asm тоже, вот я и высказался на этот счет. Название: Re: Стоит ли использовать оператор goto в программировании и почему. Отправлено: Магнетон Бора от Август 12, 2008, 11:56:15 сам по себе единичный goto ничего страшного не привносит. Когда я только начинал изучать язык С и сдавал самый первый вычислительный практикум я ввсего лишь один разок использовал в программе оператор goto и преподаватель прочитал мне целую лекцию о том, что программист ов, использующих этот оператор не уважают :D Название: Re: Стоит ли использовать оператор goto в программировании и почему. Отправлено: EvilMax от Август 13, 2008, 12:43:40 Магнетон Бора, хехе, логично. В C, хотя некоторые спорят по поводу его высокоуровневости, оператор безусловного перехода безусловно вреден. Любой алгоритм можно написать и без него - доказано умными дядьками. :) А вот использование оператора зачастую делает программу плохо читаемой и затрудняет поддержку.
Хотя, есть одно НО. Если программист настолько хорошо знает архитектуру платформы, под которую пишет, знает внутренности и особенности компилятора, не исключено, что он сможет в некоторых случаях написав goto выиграть несколько тактов процессора, а может, и больше. Но так как компиляторов уйма, платформ тоже не одна и даже не две, такие прогеры скорее исключение из общего правила. Посему goto вреден. А в описанном случае выгоднее написать фрагмент на ассемблере для данной платформы. |