Re: MSElang : обсуждение фишек
Добавлено: 26.11.2013 04:35:55
debi12345 писал(а):которая без скобок :не компилируется.
Зачем что-то менять, если компилятор и так не давал сделать неоднозначность?
debi12345 писал(а):Да это понятно, что любые претензии к неоднозначности - надуманы. Называется "учи нюансы и переливы, делай зарубки, закрепляй ежесекундной практикой практикой"
Мне кажется, что Вы и другие наши коллеги путаете понятие неоднозначности и понятие формализма.
Во всех приведенных Вами примерах из Оберона вообще не было ни одной неоднозначности, т.к. неоднозначность - это не вариации написания одного и того же. Неоднозначность - это когда одинаковый или похожий код работает совсем не так, как кажется на первый взгляд. Наличие или отсутствие символа ";" ни как не влияет на неоднозначность. А вот пример из С/С++, когда компилятор дает скомпилировать конструкцию типа if(i=0) - это и есть пример неоднозначности.
В тоже время Вы пытаетесь нам навязать формализм в написании кода, мол нужно переписать все существующие формальные правила, и заставить всех ставить или удалять символы ";", и прочие. Это все бред и лишнее. Формализм - это зло. Ничего полезного в нем нет. Вы занимаетесь надуманными проблемами про удобность и эстетичность.
В отличие от Вас, Мартин предлагая после if ... then обязательно требовать END - как раз ликвидирует неоднозначность, т.к. некоторые пишут несколько операторов, выполнив отступы (форматирование текста), но забыв указать begin/end.