[modula3/cm3] Подводные камни и лазейки: Возможен ли «коварный» (Underhanded) конкурс в мире Modula-3? (Обсуждение #1245)
Хорошие замечания.
Примерно с момента моего последнего сообщения под названием
"FROM C++ TO MODULA-3 ... (12 Jan 2025)" (ИЗ C++ В MODULA-3 ...)
я занимаюсь портированием исходного кода моей собственной версии «игрового движка Irrlicht» (
https://irrlicht.sourceforge.io/) с C++ на Modula-3 (M3).
Я закончил примерно на 80%.
Цель состояла в том, чтобы получить стек математических/физических/графических/мультимедийных компонентов, основанный на исходном коде M3; по сути, это портирование моего кода на C++ прошлых десятилетий, в первую очередь для использования в симуляциях и играх.
Как только я завершу и протестирую портирование игрового движка, я подробно опишу соответствующие выводы, полученные в процессе этой работы (в будущем сообщении "FROM C++ TO MODULA-3").
А пока я упомяну следующее (касательно портирования игрового движка):
- портирование игрового движка стало значимым и увлекательным предприятием;
- портирование является «значимым» в том смысле, что зрелый игровой движок, такой как Irrlicht, инкапсулирует множество подсистем, которые, как правило, не являются взаимно ортогональными, т.е. многие подсистемы прямо или косвенно связаны с другими подсистемами;
- портирование является «увлекательным» благодаря использованию интегрированной среды разработки M3 (M3-IDE), которую я создал для себя, как описано в предыдущих сообщениях "FROM C++ TO MODULA-3"; я бы не стал продолжать портирование (или даже другие проекты на M3) без моей M3-IDE.
- очевидно, что M3 — это язык с низкой когнитивной нагрузкой, который превосходно подходит для «крупномасштабного программирования» (programming-in-the-large), в отличие от C/C++;
- наличие в M3 как ручного, так и автоматического (т.е. со сборкой мусора) управления памятью является весомым преимуществом;
- безопасность работы с памятью в M3 — это отличное свойство, среди прочих его достоинств;
- пр…
Читать полностью →