Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.231.219.178] |
|
Страницы: (7) 1 2 [3] 4 5 ... Последняя » все ( Перейти к последнему сообщению ) |
Сообщ.
#31
,
|
|
|
к слову в /usr/src/kernel-source2.4.18/kernel/fork.c :
repeat: for_each_task(p) { if(....) { if(...) { ....... } goto repeat; } .... } .... } |
Сообщ.
#32
,
|
|
|
2 tserega:
Если ты имел в виду не инлайн, то, плюс ко всему, этот код будет работать еще и медленнее. На счет критерия который ты упомянул, сложность программы зависит еще и от количества использованных в ней функций, переменных, классов, макросов -- сущностей одним словом. Заменять некошерные сущности кошерными мне кажется пустой тратой времени. Действительно, запутать программу goto переходами проще чем без них, поэтому в универах и учат обходиться без гоуто пока это возможно. Продвинутые преподы так учат. Менее продвинутые челы просто запрещают его использовать. Да, и подумай на досуге, почему Кэрниган и Ритчи оставили в goto в "C". 2 Grand: Цитата Изначально в лексике языков программирования использовались операторы типа if, for, goto.. Цикл можно было реализовать только параметрический с определенным шагом. Для организации циклов с "предусловием" и "постусловием" приходилось использовать структуры if .... goto. В последствии с развитием языков появилияь и с операторы циклов типа while и do и необходимость в "старом" методе организации циклов отпала сама по себе Вообще то, избежать слишком частого использования goto можно используя только break и continue, конструкции while и do...while вообще избыточны, счастье наступило вовсе не из-за них. |
Сообщ.
#33
,
|
|
|
О вкусах не спорят.
Когда пишется программа "на день", то тут не до красоты. А если серьезный проект, то желательно, чтобы его можно было понять не только самому через какое-то время, но и чтобы поняли другие. Программист на qbasik-е с трудом поймет процедурную программу. |
Сообщ.
#34
,
|
|
|
используя гото можно прогу так послать о-го-го. А конструкции за скобки никогда не вылазят вот в чем прелесть
|
Сообщ.
#35
,
|
|
|
2 tserega: Дело не во вкусах, просто есть разница между "Стараться не использовать" и "Никогда не использовать". Действовать нужно исходя из контекста, так ведь?
|
Сообщ.
#36
,
|
|
|
Код linux kernel полон goto (желающие могут проверить grep'ом)
Про goto в линуксе: http://lxr.linux.no/source/Documentation/CodingStyle#L184 |
Сообщ.
#37
,
|
|
|
Я за GOTO
С ним действительно бывает проще. И алгоритм выглядит понятней. |
Сообщ.
#38
,
|
|
|
некрофилы, блин...
|
Сообщ.
#39
,
|
|
|
Сообщ.
#40
,
|
|
|
Сообщ.
#41
,
|
|
|
Не помню, когда в последний раз использовал гото........
Желание отбил один препод (который был ещё и моим начальником, когда я подрабатывал на кафедре). Он, если увидит хоть один гото, сразу начинает жутко глумиться.... Мне было ооочень неприятно. С тех пор не использую. И считаю, что можно и без него обойтись. Кстати, все, кого я знаю, считают (вот уж не знаю, почему), что люди, использующие гото - не программисты вовсе. |
Сообщ.
#42
,
|
|
|
Хакас
А ты почитай веточку по ссылке, которую я привел. Как раз тот не программист, кто не испорльзует инструмент (в данном случае язык программирования) во всей его широте только потому, что "кто-то сказал, что это плохо". |
Сообщ.
#43
,
|
|
|
Предлагаю написать письмо в международный комитет по защите программистов, чтобы запретить Goto и подобных ему
На мой взгляд, личное дело каждого использовать или не использовать. Для одних это "табу", для других это обычный оператор. Может просто кто-то не понимает, как его можно применить, ну не нужен он ему и черт с ним, зачем морочить себе голову. Складывается такое впечатление, что люди которые не используют Goto испытывают комплекс неполноценности и оправдываются перед другими, что, мол и без Goto неплохо живется, а может наоборот. Все по разному учились, кого-то учили, кому-то запретили, но ведь у каждого есть своя голова и каждый сам решит, как ему лучше, независимо от своих учений. А если код нечитабельный, то не лезь в него, предоставь это тем, кто разберет любой код, не можешь использовать Goto, не используй. Не думаю, что те дядьки, которые создали нынешние языки программирования, просто добавили Goto для красоты. Написал две одинаковых программы с использованием и без Goto, скомпилил и дизассемблировал, и что, они ничем не отличаются, только одной строкой, все остальное один в один. jnz short loc_401B6F с Goto jz short loc_401B6F без Goto Можно сделать вывод, что разница только в удобстве программирования. Это как послать кого-нить, слова меняются, а смысл нет. |
Сообщ.
#44
,
|
|
|
По опыту разбора старых математических исходников на фортране, в которых активно используется goto, могу сказать, что где-то 95% случаев применения этой конструкции служило для реализации функционала, который легко и естественно реализовывался при помощи if/then/else и прочих структурных заморочек. В оставшихся случаях было очень сложно подобрать подходящий эквивалент без goto. Но вот какое дело, хоть эквивалент было сложно подобрать, но в большинстве случаев можно было организовать программу так, чтобы в этом не возникало необходимости. Просто по другому решить и всё.
Случаи, когда goto был совершенно необходим, потому что без него было тяжело и некрасиво - таких случаев единицы. |
Сообщ.
#45
,
|
|
|
Демо А я и не спорю Я просто говорю, что есть люди, которые гото не периваривают и из-за них можно запросто потерять работу
|