![]() |
|
Теорема Бома — Якопини реалистична? или снова про goto | ☑ | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0
MatrosoV AleXXXand_R
28.06.11
✎
15:32
|
Теорема Бома — Якопини — утверждение о структурном программировании, согласно которому любой исполняемый алгоритм может быть преобразован к структурированному виду, то есть такому виду, когда ход его выполнения определяется только при помощи трёх структур управления: последовательностей (sequence), ветвлений (selection) и повторов (repetition).
Теорема была сформулирована и доказана итальянскими математиками Коррадо Бомом (англ. Corrado Böhm) и Джузеппе Якопини (Giuseppe Jacopini) в их статье 1966 года[1]. В статье также описывались методы преобразования неструктурированных алгоритмов в структурированные. Публикация теоремы была толчком к началу дебатов о структурном программировании. Спустя 2 года вышла статья Эдсгера Дейкстры «Go To Statement Considered Harmful»[2], в которой он критиковал использование оператора GOTO и высказывался в пользу улучшения стиля программного кода за счёт использования структур управления и отказа от других инструкций, управляющих ходом алгоритма. wiki:Теорема_Бома_—_Якопини А как вы считаете - можно ли обойтись в программировании без GOTO (Перейти)? И считается ли плохим стилем программирования его использование или нет? |
|||||||||||||
5
Grusswelle
28.06.11
✎
15:34
|
(0) За исключением Ассемблера. И то, можно извратиться без меток.
Да, GOTO - нельзя использовать |
|||||||||||||
15
Mort
28.06.11
✎
15:37
|
Использование программистом GOTO означает, что при кодировании, мысленно он управляет программным потоком, а не абстракциями. Короче, я бы такого не взял.
Да, GOTO - нельзя использовать |
|||||||||||||
25
Scooter
28.06.11
✎
16:08
|
я в 1с даже не знаю как это писать
Да, GOTO - нельзя использовать |
|||||||||||||
50
Ахиллес
28.06.11
✎
16:23
|
(38) Убогий программист генерящий невразумительный чересчур сложный код, убогая среда исполнения и убогая утилита. Вот и все оправдания GOTO.
Да, GOTO - нельзя использовать |
|||||||||||||
59
Grusswelle
28.06.11
✎
16:25
|
Использование GoTo - удел маргиналов, невежественной босоты и прочих неучей. Вы уж простите.
Да, GOTO - нельзя использовать |
|||||||||||||
74
Grusswelle
28.06.11
✎
16:28
|
(64) +1. Ну не GoTo же...
Да, GOTO - нельзя использовать |
|||||||||||||
92
Лефмихалыч
28.06.11
✎
16:32
|
ибо даже любой из примеров "оправданного" применения можно переписать без готов и от этого станет только читабельнее
Да, GOTO - нельзя использовать |
|||||||||||||
98
Grusswelle
28.06.11
✎
16:34
|
(87) Не, ну в идеале - возврат должен быть один. Максимум - два, если
Если ... Тогда Возврат А Иначе Возврат Б КонецЕсли; ^^^^^^^^^^^^^^ но не больше. В остальных случаях я лично рекомендовал бы (да и сам так делаю) формировать некую переменную, назовём её "Результат", и в конце функции - один единственный "Ыозврат Результат". И НИКАКИХ GOTO! Да, GOTO - нельзя использовать |
|||||||||||||
103
Grusswelle
28.06.11
✎
16:36
|
(101) Обращайся! ;-)
Да, GOTO - нельзя использовать |
|||||||||||||
111
Grusswelle
28.06.11
✎
16:41
|
(109) GoTo НЕЛЬЗЯ использовать. НЕЛЬЗЯ. И всё. Это - как плод греха у Адама и Евы. Он - есть, но использовать его НЕЛЬЗЯ.
Да, GOTO - нельзя использовать |
|||||||||||||
122
Grusswelle
28.06.11
✎
16:48
|
(115) Нет никаких комплексов. Это как цианистый калий - он есть, но использовать его нельзя. Это как водородная бомба! GoTo, конечно, может легко решить многое, но те, кто прибегает к его использованию автоматически характеризуют себя не с лучшей стороны. Такое впечатление, что разработчики языков то и дело смеются над нами, не исключая этот оператор из синтаксиса языка.
Да, GOTO - нельзя использовать |
|||||||||||||
123
abitfrosty
28.06.11
✎
16:48
|
Еще ни разу не встречал ситуации, где использование меток было бы необходимостью.
Да, GOTO - нельзя использовать |
|||||||||||||
126
Grusswelle
28.06.11
✎
16:50
|
(124) Он это делал под стволом у виска!
Да, GOTO - нельзя использовать |
|||||||||||||
128
Grusswelle
28.06.11
✎
16:52
|
(127) Потому, что GoTo НЕЛЬЗЯ использовать!
Да, GOTO - нельзя использовать |
|||||||||||||
156
Grusswelle
28.06.11
✎
17:05
|
(148) Это забыли убрать! От "Бейсика" осталось!!! >:-Е
Да, GOTO - нельзя использовать |
|||||||||||||
161
Jolly Roger
28.06.11
✎
17:07
|
б-о-й-а-н...
Да, GOTO - нельзя использовать |
|||||||||||||
192
wt
28.06.11
✎
17:57
|
Всё зависит от школы. Если начинал работать бардачком, то и появляются безусловные переходы. В любой системе можно обойтись без этих переходов.
В чем ценность их отсутствия - это отладка сложных алгоритмов. С goto это просто головная боль. Опыт: ассемблер, си, дельфи, ещё масса специализированных языков, и конечно же наша платформа. Да, GOTO - нельзя использовать |
|||||||||||||
218
НП
28.06.11
✎
19:20
|
Использование GOTO определяет стиль мышления программиста.
Уже 40 лет программировать учат без GOTO. Но это - часть правды. А вся правда состоит в том, что там еще есть куча условий, чтобы программа была удобной (для отладки и сопровождения). Например, программные модули должны быть небольшими (максимум, несколько сот операторов). Или: не писать универсальных модулей для обработки различных условий совершенно разнородных объектов. Учитывая, сто конфигурации 1С совершенно не удовлетворяют требованиям структурного программирования - используют они GOTO или не используют - ничего в корне не меняют. Я - не использую. Да, GOTO - нельзя использовать |
|||||||||||||
224
ado
28.06.11
✎
19:46
|
ИМХО, с некоторыми оговорками допустимо использовать только "прервать" и "продолжить", переход по метке необходимо забыть и никогда не вспоминать.
Да, GOTO - нельзя использовать |
|||||||||||||
228
skunk
28.06.11
✎
20:40
|
ну если по сути то jmp еще никому не удалось заменить ... а вот языках высокго уровня гоняться за джампом моветон ...
так что в контексте всего структурно-объектного программирования ... да гото использовать низя Да, GOTO - нельзя использовать |
|||||||||||||
233
Alsh
28.06.11
✎
21:49
|
10 лет назад использовал, когда совсем не понимал, что делаю.
Последние 10 лет даже не вспоминал. ИМХО использование GOTO - свидетельство некомпетентности, вернее, тупости. Да, GOTO - нельзя использовать |
|||||||||||||
242
reanimator
28.06.11
✎
23:02
|
гадость
Да, GOTO - нельзя использовать |
|||||||||||||
243
Zamestas
28.06.11
✎
23:03
|
Всегда можно обойтись без goto, но некоторым проще воткнуть его, чем отписать "красивый" код.
Да, GOTO - нельзя использовать |
|||||||||||||
248
noprogrammer
28.06.11
✎
23:15
|
1.Да - обойтись можно (и нужно)
2.Да - использование goto плохой(ужасный) стиль программирования Да, GOTO - нельзя использовать |
|||||||||||||
361
Zixxx
29.06.11
✎
13:06
|
GOTO - задница, если бы так и дальше шло, то появился бы GOBACK, GOJUMP и т.д.
Да, GOTO - нельзя использовать |
|||||||||||||
371
Alexey87
29.06.11
✎
14:11
|
Пригодились, когда только писал на ассемблере...А так, ни разу не было в них нужды.
Да, GOTO - нельзя использовать |
|||||||||||||
377
dragonIMV
29.06.11
✎
14:46
|
(0) GOTO использовался последний раз в турбопаскале, когда изучали в школе тему как раз связанную с метками...сколько лет прошло с тех пор, но метками не пользуюсь...лучше уж условий сделать побольше или еще что нужное, чтобы обойтись без меток....
Да, GOTO - нельзя использовать |
|||||||||||||
378
fisher
29.06.11
✎
15:13
|
Гоуту - это граната в руках обезьян, взрывающая мозг.
Даже в тех редчайших случаях, когда без гоуту получается более громоздкий код, он всё равно читается легче. Потому что такой код имеет единообразно читаемую структуру. Гоуту имеет сомнительное право на жизнь, как временная заплатка при отсутствии времени на рефакторинг, например. Там где оно в типовых встречается - вреда от него особого нет, но необходимости тоже. Зато в жизни ТАКОЕ встречаешь, что без полного рефакторинга дорабатывать просто нереально. Поэтому считаю что лучше бы его вообще не было. Вреда намного больше, чем пользы. Лучше бы на форумах были вопросы "Как реализовать", чем допускать безконтрольное размножение гоуту в дикой природе. Да, GOTO - нельзя использовать |
|||||||||||||
419
Vetal_978
01.07.11
✎
09:08
|
нет
Да, GOTO - нельзя использовать |
|||||||||||||
423
0xFFFFFF
02.07.11
✎
16:26
|
Поскольку "Использовать можно, но в крайнем случае", поэтому лучше раз и навсегда сказать себе
Да, GOTO - нельзя использовать |
|||||||||||||
431
extrim-style
07.07.11
✎
11:17
|
обойдусь без GOTOв
Да, GOTO - нельзя использовать |
|||||||||||||
447
proger2011
07.07.11
✎
13:15
|
Вирите нет? Всю жизнь обхожусь без меток, прервать и продолжить как учили. Когда ваяю код в мысли даже не приходят варианты с этими опереторами.
Да, GOTO - нельзя использовать |
|||||||||||||
503
ЗлобнийМальчик
12.07.11
✎
12:06
|
мало что ли способов по другому усложнить код
Да, GOTO - нельзя использовать |
|||||||||||||
504
GANR
12.07.11
✎
14:01
|
За каким ???
Да, GOTO - нельзя использовать |
|||||||||||||
517
360i
12.07.11
✎
19:02
|
Да, GOTO - нельзя использовать |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |