Это общепринятая практика - писать часть рантайма ЯВУ на асме, не говоря уже о библиотеках, где требуется высокая эффективность. Особенно это актуально для более слабых платформ. Так что это не проблема Оберона. Я думал, ты это понимаешь. Нет? Печалька.
И на Спектрумах тоже, ничто принципиально не мешает использовать подгрузку, распихивание в страницы 128К+, только на Спеке всё будет не так удобно, чем на мощных платформах.
Вот именно, что это даёт экономию в некоторых случаях. Не зря был придуман приём с виртуальной памятью и dynamic link libraries. Сейчас это общепринятая практика.
Нет, не ключевое, а именно хитрожопое. Если в языке единица работы с кодом это модуль, а ты сформулировал вопрос так, чтобы было не на уровне модуля.
Не поэтому. Оверхед от модулей практически нулевой. Просто так в голове удобнее всё раскладывать по полочкам. А не кучей как в Форте.
Тут каждый едет куда может и хочет.
Я бы сказал, что в Форте не меньше ограничений, а больше. Уж для мозгов программиста - так точно.
Просто Вирт не вырезал описание единого для всех и всего языка на скале на миллионы веков, а не считает зазорным адаптировать язык по необходимости к задачам, на нём решаемым, что есть правильно.
Да массой. Уход от GOTO, структурность, некоторые элементы модульности, рекурсия, ссылочная передача параметров. Я не буду утверждать, что всё придумал именно Вирт, оно тогда витало в воздухе. Но многое - уж точно.
Ты не поверишь, раз уж тебя не получилось убедить, что ездить на мотоцикле в шлеме куда лучше, чем без, ты же у нас крутой кулхацкер, зачем тебе. Но асм-вставки я в Обероне не практикую даже для Спека. Это компромиссная мера - то, о чём просили меня юзеры XDev. Я практикую асмовые реализации отдельных процедур, вынесенные в библиотеки. Там спускаешься на уровень ниже, к коду. Так всегда делают. И везде. Ты ничего другого не придумаешь. И тебе бы мой код не понравился, а мне твой.
Ну может при прямых руках, но при ущемлённом самолюбии и кривых вывернутых мозгах, чур меня, ну нафиг.
Не, лучше не искать нормальный код нормального фортера, эта задача бесполезна. Даже короткие слова приходится в уме мучительно распаковывать. А на Обероне я сразу пишу то, что думаю.
В общем, в сухом остатке:
- Для больших и сложных проектов Оберон подходит, Форт нет.
- Для впихивания системы и транслятора в 2 Кб Форт подходит, Оберон нет.
- Для низкоуровневых применений в ограниченных условиях Форт подходит (с оговорками - если нет ограничений на шитый код, критичность по скорости и т.д.), Оберон подходит хуже - просто увеличится количество машкодовых процедур и/или асм-вставок.
- Для высокоуровневого проектирования Оберон подходит идеально, Форт с огромными оговорками (надо делать новые абстракции).
- Для безопасного программирования Оберон даёт средства изоляции опасного кода от безопасного. Форт опасен весь и полностью, даже на безобидном на первый взгляд коде.










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