Вместо простой абстракции составного оператора, куча блочных операторов и среди них ELSEIF. Поскольку мне доводилось много писать в 1С, где эта конструкцию приходится использовать, могу сказать, что концептуально это такая же прелесть как и GOTO</li>
Отсутствие ООП. Да, расширяемые записи могут эмулировать объекты. Но класс — это понятие математическое, а расширяемая запись — oberon-only.</li>
Нет разницы между указателями и динамическими типами. Формирует плохой стиль программирования, а в случае Component Pascal — несовместимость реализаций на различных платформах по языку.</li>
Можно еще проблемы найти, это только то, что навскидку вспомнилось.
Mirage писал(а):... А что компиляторов нет - так потому и говорю что неплохо было бы сделать. Собственно сам компилятор дело нехитрое - я писал. Пишется быстро и просто. Самое трудное - IDE, библиотеки и т.п. ...
с библиотеками нет проблем если можно линковаться со стороними библиотеками (so,dll) был бы язык удобный
тоже о циклах и процедурах оберона и компонентного паскаля, а все остальное мне в нем даже не интересно, хотя тут скорее ближе старая добрая Ada. Но в последнем чуждая лично мне идеология
Ни одного нормального oberon компилятора нету для *nix, самый лучший - oo2c - и то переводчик в си, а компилятор от университета Ulm неплох, но на моем лаптопе он не пашет.
Чего убиваться-то? В процентном соотношении Windows вообще колосс, на такую сошку, как *nix, можно не обращать внимания .
Для компилятора ОС не важна, а важен лишь тип процессора. А взаимодействие с ОС это проблема чего типа RTL.
Сергей Смирнов писал(а): Хотя... а у gcc есть ответвления?
Сейчас, вроде, нет. Есть разные ветки. Стабильная и development. Раньше был форк, в нём новые технологии оптимизации обкатывали, а потом - слили в основную. Но в некоторых старых доках по сборке ядра или mplayer ещё можно найти рекомендацию использовать "другой" gcc.
И выравнивание тут уже не спасает sad.gif И, кстати, правильно это как ? wink.gif
Правильно - это когда спасает B)
Идеального рецепта не существует, но лично я всегда делаю end на том же уровне, что begin, else на том же уровне, что then и т.д. Менее экономно, чем Boland-style, дык на экране 1024х768 чай не 80 символов в строке...
Иван Шихалев писал(а): Идеального рецепта не существует, но лично я всегда делаю end на том же уровне, что begin, else на том же уровне, что then и т.д.
я всегда думал, что есть еще какой-то неизвестный и самый эффективный способ но похоже я ошибался