Goto, отношение |
Goto, отношение |
mamont001 |
16.12.2006 22:03
Сообщение
#1
|
Вожак стада Группа: Пользователи Сообщений: 179 Пол: Мужской Реальное имя: кирилл Репутация: 1 |
всегда хотел узнать как кто относится
-------------------- Админ наш,
Иже еси на серверах! Да святится имя Твое, Да приидет Unix Твой, Да будет воля Твоя, Как на земле , так и на небе. Пинг наш насущный дай нам на сей день; И прости нам счета наши, как и мы оставляем их должникам нашим; И не введи нас во искушение виндовое, Но избавь нас от лукавого Билли. И да пребудет с нами сила твоя великая, Во имя Отца-админа, Сына-Пингвина, и духа мастдайного. Админь! |
Bokul |
16.12.2006 22:04
Сообщение
#2
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Цитата не пользуюсь Сообщение отредактировано: Bokul - 16.12.2006 22:05 -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
volvo |
16.12.2006 22:07
Сообщение
#3
|
Гость |
Не голосовал, ибо не нашел подходящего варианта: использую, но очень редко ...
|
Bokul |
16.12.2006 22:13
Сообщение
#4
|
Гуру Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Три этапа в развитии программиста:
Чайник - без Goto не куда; Понимающий - не использую; Профи - использую, но очень редко. -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
Altair |
17.12.2006 0:07
Сообщение
#5
|
Ищущий истину Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Цитата Не голосовал, ибо не нашел подходящего варианта: использую, но очень редко ... Полностью согласен. Я бы даже сказал не использую Goto вообще, но иногда использую конструкции выхода exit (exit sub, return, braek и т.п.) в зависимости от языка, что в принципе является аналогом "goto end", т.к. перехода к конце программы\подпрограммы. p.s. Варианты ответа для детского сада aka "реальных" хакеров. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Michael_Rybak |
17.12.2006 1:36
Сообщение
#6
|
Michael_Rybak Группа: Модераторы Сообщений: 1 046 Пол: Мужской Реальное имя: Michael_Rybak Репутация: 32 |
Цитата p.s. Варианты ответа для детского сада aka "реальных" хакеров. Чего, нормальные себе варианты имо |
мисс_граффити |
20.12.2006 1:51
Сообщение
#7
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
было дело - использовала. в QBasic'е...
а потом как-то необходимости не возникало. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Lapp |
20.12.2006 8:38
Сообщение
#8
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Как в программировании, так и в обычной жизни "посылаю на" очень редко..
Уж и не припомню, когда... Но допускаю, что это может потребоваться либо для минимизации кода, либо для оптимизации программы. Было бы интересно привести пример кода, где это оправдано. Но я с ходу пример не приведу.. Может, volvo?.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
hiv |
20.12.2006 11:05
Сообщение
#9
|
Профи Группа: Пользователи Сообщений: 660 Пол: Мужской Реальное имя: Михаил Репутация: 11 |
Я бы даже сказал не использую Goto вообще, но иногда использую конструкции выхода exit (exit sub, return, braek и т.п.) в зависимости от языка. Абсолютно согласен -------------------- Никогда не жадничай. Свои проблемы с любовью дари людям!
|
SKVOZNJAK |
26.12.2006 13:47
Сообщение
#10
|
Профи Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: 11 |
Было бы интересно привести пример кода, где это оправдано. Но я с ходу пример не приведу.. Может, volvo?.. Ушедшие от нас старожилы форума вспомни ли бы что таковая электронная живность в изобилии водится у Сквозняка Первый пример. Очистка событий нажатия клавиш и мышки. Ось реально многозадачная, так что события могут подаваться порциями, а размер буфера - вопрос конечно интересный. Обоснование применения гото: зачем красивый код портить, мне за это никто не заплатит
Ещё одна процедура из той же проги. Менюшка. Благодаря использованию гото всё уместилось в одну процедуру без дробления. Налицо инкапсуляция данных. Если так использовать goto с case то это уже не совсем уже тот безусловный переход о вреде которого предупреждам минздрав. Код процедуры используется многократно и с разными значениями. Если этот процесс автоматизировать, получим элемент ИИ. Программа сможет делать то, чему программист её не учил. Но результат такого действия не обязательно устроит человека.
И третье, самое козырное обоснование. История использования гото насчитывает не одну сотню лет. Даже не знавшие письменности крестьяне смогли осознать его необходимость. Вспомните: приехал Илья Муромец к камню, прочитал надпись, поехал по первому адресу, совершил действие, вернулся, прочитал другую надпись и т. д. Налицо структура:
Нигилистам математически доказавшим ненужность этого оператора ответ простой GOTO 0 |
sonic |
26.12.2006 14:09
Сообщение
#11
|
Alone in the dark Группа: Пользователи Сообщений: 48 Пол: Мужской Репутация: 1 |
Не пользуюсь, т.к. если программа более менее обьемная, то её отладка превращается в кошмар
|
Altair |
26.12.2006 16:15
Сообщение
#12
|
Ищущий истину Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Цитата Ушедшие от нас старожилы форума вспомни ли бы что таковая электронная живность в изобилии водится у Сквозняка smile.gif Я хотел написать, если бы Сквозной появлялся бы почаще... А то не поймешь - придет еще или нет.. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
SKVOZNJAK |
28.12.2006 12:53
Сообщение
#13
|
Профи Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: 11 |
Долгое время почти не кодил, основы забывать стал. Плохо поддерживать разговор в таком режиме. А тут на линукс подсел и интерес к пасквилю разгорелся по новой. Вот только с поиском ответов на возникшие в процессе перехода вопросы на этом форуме было не очень. Всё-таки здесь народ больше на винде ездит. А я на ней в основном играю. Но ничего, с основными вопросами разобрался, теперь можно и пофлудить
|
hardcase |
21.01.2007 18:21
Сообщение
#14
|
code warrior Группа: Пользователи Сообщений: 484 Пол: Мужской Реальное имя: Славен Репутация: 8 |
Пример с 'менюшкой' поразил.
Давненько я лапшеобразного кода не видел..... Странно, но красоты совершенно не заметил, наверно у меня просто другие эстетические принципы. (назначение кода тоже осталось в тумане) Использую GOTO только для устранения концевых рекурсий (и то - редко): переход на begin вместо рекурсивного вызова. Обычно если вижу, что хочется поставить в тексте GOTO, то налицо ошибка построения алгоритма и приходится заново его пересматривать. Хотя ещё Дейкстра предлагал использовать GOTO для выхода из нескольких вложенных циклов..... Но я предпочитаю выбрасывать исключения. Сообщение отредактировано: hardcase - 21.01.2007 18:23 -------------------- ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
|
Archon |
22.01.2007 3:23
Сообщение
#15
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Когда впервые услышал, что использование goto, мягко говоря, "не приветствуется", очень удивился. Дескать, как же без него то, родимого... Оказалось можно.
Кстати, когда в детстве программировал на QBasic'е, всегда мечтал, чтобы можно было метку задавать строкой. -------------------- Close the World...txeN eht nepO
|
xds |
22.01.2007 5:37
Сообщение
#16
|
N337 Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: 26 |
Кстати, когда в детстве программировал на QBasic'е, всегда мечтал, чтобы можно было метку задавать строкой. В QBasic можно и метки символические, и IFы блочные, и подпрограммы с функциями в виде отдельных блоков. Только поначалу я этого тоже не знал - писал по аналогии с SOS Basic (нумерация строк, GO TO, DEF FN), потом перешёл на блочный синтаксис (символические метки, IF ... END IF, SUB, FUNCTION).Вот из поздних поделок (тогда я уже давно слез с QBasic и делал это кому-то на заказ): menu.zip ( 2.52 килобайт ) Кол-во скачиваний: 480 А вообще, на Quick Basic (синтаксис совпадает с QBasic, немного другая среда и есть возможность компиляции) был написан MicroCap 3.0, на моей XT (несмотря на её "турбовость" - 20 МГц!) он еле ворочался (при симуляции симметричного мультивибратора можно было спокойно идти мыться, а потом чаёвничать) -------------------- The idiots are winning.
|
Archon |
22.01.2007 12:00
Сообщение
#17
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Цитата В QBasic можно и метки символические... Не-а В смысле чтоб так:Код metka1$ = "label" + num$ GOTO metka1$ -------------------- Close the World...txeN eht nepO
|
SKVOZNJAK |
23.01.2007 23:11
Сообщение
#18
|
Профи Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: 11 |
Это просто анархия получается. Если такое скомпилировать, то код может получиться неэффективным.
|
Archon |
24.01.2007 0:39
Сообщение
#19
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Кстати, это было реализовано в одном из эзотерических языков.
-------------------- Close the World...txeN eht nepO
|
SKVOZNJAK |
24.01.2007 0:51
Сообщение
#20
|
Профи Группа: Пользователи Сообщений: 930 Пол: Мужской Репутация: 11 |
Я не против гото, очень даже за, но такой сильный инструмент нужно использовать упорядоченно. Выработать для себя правила применения и стараться их не нарушать.
|
Текстовая версия | 10.11.2024 9:42 |