Владимир Паронджанов писал(а):
1. Разница в том, что в ЯВУ программисты пишут оператор goto ВРУЧНУЮ и это плохо. Именно с этим боролся Дейкстра.
Rifat писал(а):
1. Если считать, что Дейкстра боролся с тем, что goto пишется ВРУЧНУЮ, то значит он был недоволен, тем, что программисты не умеют писать goto, кто-то пишет got, кто-то goot, кто-то gtoo. Это смешно.
Владимир Паронджанов писал(а):
Согласен с Вами, что это смешно.
Но я вовсе не имел в виду смешные описки.
Rifat писал(а):
Дейсктра боролся не с ручным написанием goto, а c goto как таковым.
Владимир Паронджанов писал(а):
Эта мысль мне не понятна. В системе команд любого процессора имеется оператор перехода. Обычно пишут не goto, а jump.
Разве Дейкстра требовал исключить из системы команд процессора команду перехода? Конечно, нет. Говоря Вашими словами, это смешно.
По-видимому, Вы имеете в виду что-то иное. Что именно? Просьба пояснить.
Rifat писал(а):
Дейкстра и не говорит, что нужно исключить jump из процессора и даже из низкоуровневых языков программирования.
Дейкстра писал(а):
убежден в том, что оператор go to должен быть отменен в языках программирования "высокого уровня" (т.е. отовсюду, кроме, возможно, простого машинного кода).
Рифат, отсюда следует некорректность Вашего ответа:
Rifat писал(а):
Дейкстра боролся не с ручным написанием goto, а c goto как таковым.
На самом деле, Дейкстра четко различал два случая. А одном случае он разрешал использовать goto, а в другом запрещал.
Между этими случаями имеется качественное различие. Какое именно?
Рифат, я предлагаю на Ваш суд такой ответ.
1. При использовании ЯВУ Дейкстра запрещает РУЧНОЕ использование goto, то есть использование в исходном тексте ЯВУ.
2. При использовании ЯВУ Дейкстра разрешает АВТОМАТИЧЕСКОЕ использование goto, то есть появление goto в результате автоматической трансляции в ассемблерный или машинный код.
Как Ваше мнение? Вы согласны с моим ответом? Или у Вас есть возражения?