Как написано в Ведах: "кто чужому горю радуется - тот горе к себе призывает". Справедливо. Впрочем, бугога не мне, а моим клиентам, любящим "клубничку". Которым я налаживаю компы.
Очень много людей варится в этом, вот и много работы сделано.
Есть и стандарты, есть и рекомендации, но они, пожалуй, слабоваты. Библиотеки - это как раз то, чем я занимаюсь. Причём базовая библиотека XDev - мультитаргетная (совместимость снизу вверх).
Влиять на стандарты Оберона я не могу. Сам понимаешь.
Одно дело - разрабатывать на Си непереносимую маленькую игру под одну платформу. Другое - переносимую. Третье - огромную систему. Чем больше и сложнее проект - тем меньше смысла делать его на Си. Но вот то самое "более запрещающее стрелять себе в ногу" - это обычно уже виртуальная платформа. Оберон же, давая все возможности для разработки безопасного кода, оставляет нам возможность получить нативный машинный код. Что вообще в этой нише есть - "безопасность + мультитаргетность + натив"?
Академичность может разработчику и не нужна, но тщательное проектирование вместо хацкерских заплат на заплате (чем, собственно, является парадигма Си) - весьма не помешало бы.
Для Оберона мало компиляторов. И в основном они под Оберон-системы. Так что XDev это прорыв не только в ретрокодинге, это уникальная штучка и для Оберон-мира, своеобразный сплав Оберон-простоты с "мэйнстрим"-сложностью. Гибридный конечно.
В Обероне указатели не могут указывать куда попало. Они либо куда нужно, либо NIL. Ну и сообщения об ошибках выглядят не как попытка отправить отчёт к какой-то матери, а вполне внятное сообщение. Удобство отлова ошибок в разных Оберон-окружениях различно, в среде BlackBox, например, при возникновении критической ошибки всплывёт окно, где будет сказано в каком модуле в какой процедуре и в каком именно месте возникла ошибка. С возможностью одним кликом открыть исходник в этом месте. У XDev средства отлова поскромнее, это связано с особенностями устройства ядра.
Да, но в парадигме XDev я могу спокойно его прикрутить и использовать. Туда уже прикручены SDCC, DJGPP, TCC, GCC. Ну и MINGW я пробовал.
Не поверишь, но иногда простая алгоритмическая перекомпоновка даёт больший выигрыш, чем продвинутая машинная оптимизация, которой, впрочем, у XDev никак не отобрать (средствами компиляторов Си).
Мифы, снова мифы. Авторы XDS (продвинутого оптимизирующего компилятора Модулы-2/Оберона-2) утверждают, что со строго типизированного языка можно получить гораздо более оптимальный машинный код, чем со слабо типизированного. Это логично, не так ли? Или разжевать?





Ответить с цитированием