Mikhail писал(а):Тело циклов иногда занимало несколько сот строк и догадаться что это бесконечный цикл можно было только пролистав до конца. Почему разработчики не написали эквивалентный, но более понятный
Я за такое увольняю сразу.
Во-первых, тело цикла не должно превышать МАКСИМУМ нескольких десятков строк. Оптимально до 10-15 строк, а еще лучше - 5 строк.
Во-вторых, бесконечный цикл - это уже ущерб логики и методологии программирования.
Поэтому проблема надуманная. Решается прекрасно административным путем. Если тело цикла больше 50 строк, то выписывайте штраф в размере 10 баксов за каждую лишнюю строку кода. Одного штрафа в штуку баксов уже достаточно, чтобы программист больше никогда в жизни не писал такой корявый код.
Mikhail писал(а):Циклы (структурные) while, repeat, for остаются, но запрещается их досрочное завершение. Одна точка входа и одна точка выхода.
В чем смысл такого требования? Цикл и его красота что ли самоцель алгоритма?
Mikhail писал(а):Дополнительно, вводится (неструктурный) цикл "loop end". Выход из цикла осуществляется с помощью операторов break. Это цикл общего вида, позволяющий реализовать такие конструкции как "цикл с выходом из середины", "цикл с несколькими выходами" и т.п.
У Вас какое-то странное мышление. У Вас ЦИКЛ является какой-то самоцелью, что Вы характеризуете цикл (сколько выходов из него и где они), а не саму задачу. Есть задача, а цикл - это инструмент ее решения. Зачем тратить время на классификацию циклов и прочих абстрактных понятий?
Mikhail писал(а):Сейчас, если нужен цикл с несколькими выходами, я пишу так
А зачем Вы пишите так? Первая же строка "while true do" уже вводит в заблуждение (якобы говорит о бесконечности цикла) и не несет никакой информации. Хотя это обман (а за обман бьют по рукам), т.к. цикл конечен, но Вы основное условие выкинули куда-то в середину тела, создав при этом кучу непоняток.
Выходы из цикла характеризуют не сам цикл (цикл не нужно характеризовать, он вторичен), они характеризуют решаемую задачу.
Хороший программный код должен ясно и лаконично описывать алгоритм, как хорошая книга. Нет нужды отвлекать внимание на всякую ерунду, как описание количества точек выхода из цикла.