А те, кто смог перестроится, вполне оценили и ООП и отказ от GOTO. ... Не отношу себя к профессиональным программистам - пишу мало. За последние лет двадцать написал всего тысяч десять строк, но ни разу не использовал GOTO. Подтверждаю, что отказ от GOTO действительно существенно повышает наглядность программ, упрощает отладку. И это особенно ценно при коллективной работе программистов над большим проектом.
(1) Непонимаю причину такой ненависти к
. Допустим безусловный переход из конца в начало программы действительно её запутывает и скорее всего не нужен, (2) но зачем отказываться от использования внутри относительно небольших функций или процедур - если того требует логика? (3) Функции то всё равно писать приходится, несмотря на ООП - теперь они называются "функции-члены"? (4) Не приходится ли дополнительно усложнять (и запутывать) программу ради единственной идеи-фикс обойтись вообще без
?
(5) Кстати,
- команда процессора и системные программисты по этому поводу вроде не комплексуют...
1. Вы ошибаетесь -
ненависти не было и нет. А вот
равнодушие и
пренебрежение за последние 20 лет вполне оформилось. Хотя раньше был как все - использовал GOTO.
2. О какой логике Вы говорите? Логики бывают разные. Например, когда Колмогорова спросили, есть ли женская логика, он ответил, есть -
если это мне нравится, значит это истинно.
Разумеется, пришлось созреть для отказа от GOTO - это было не просто - а теперь для меня естественна логика без GOTO.
3. Видимо, я не точно выразился - уточняю. Я не смешиваю ООП и отказ от GOTO - это разные вещи, хотя и направленные на одно и то же - на повышение качества ПО. И хотя писал немного в стиле ООП на C++, но скорее с целью освоения методологии. Последние 10 лет пишу на VBA в обычном стиле, но категорически без GOTO.
4. Настаиваю, что
в результате отказа от GOTO программа упрощается.
5. Разумеется, говоря об отказе от GOTO, мы имеем в виду
языки высокого уровня. А в машинных кодах или в языке Ассемблера этот отказ был бы самоубийством.
ЗЫ. На моем сайте дана ссылка на программу здорового питания - порядка 1000 строк на VBA. Правда, она запаролена. Однако готов выложить в качестве без GOTO-шного примера какую-нибудь ее часть,
если это интересно.