Мифическое мышление и Спектрум. Навеяно общением в теме "[ZX48] Спрайтики?"

Меня давно уже интересовал вопрос, почему ZXDev остаётся в стороне от талантливых программистов на Спектруме. Ответ здесь лежит в плоскости психологии, а отнюдь не технических достоинствах или, наоборот, недостатках самой среды, что позже я назвал “мифическим” мышлением. И ZXDev стала его жертвой. Что же оно из себя представляет? Это набор ментальных установок, не имеющий ничего общего с реальностью, которого апологеты упёрто придерживаются, оправдывая всеми силами, и не замечая изъянов в своём ментальном поле. Разберёмся подробнее.

1. Оберон это чуждое средство для всех спектрумистов. Это миф. Потому что мы слишком большое значение придаём словам, а не скрытым за ним вещам. Оберон это на 50% ZX-BASIC и на 95% Hisoft Pascal, знакомый всем любознательным спектрумистам ещё с юных лет. Если вам нравится Delphi, то ничего более похожего на Дельфи для Z80, чем ZXDev, вы не найдёте.

2. Оберон крайне непохож ни на что другое, учить его долго и муторно. Это миф. Оберон похож на Бейсик даже больше, чем Си, перед которым у многих спектрумистов барьер. Вы уже знаете Оберон, за исключением пары тонкостей, которые интересно узнать в процессе разработки.

3. ZXDev очень большая, сложная малофункциональная среда, трансляция в Си порождает много проблем и оверхеда. Миф. Никакого оверхеда, связанного с уровнем Си, там нет. Напротив, благодаря SDCC мы имеем доступ к хорошей кодогенерации, значительно лучшей, чем в Boriel’s Basic и в любом набортном средстве разработки, к которым почему-то тяготеют некоторые спектрумисты, яростно закрывая глаза на все их косяки. А в отличие от компиляторов Bolt’а и Andrew (без обид), языковой уровень ZXDev вполне полнофункционален. Другое дело, использовать ли вещественные числа или, скажем, структуры на Спектруме, что порождает некоторые трудности. Но это уже решать программисту.

4. ZXDev крайне долго изучать и осваивать. Это миф. Можно взять среду и за 10 минут посмотреть чего она умеет, компилируя примеры из поставки. По языку довольно много информации, книг, статей. Кроме того, я никогда не против отвечать на любые вопросы по среде.

5. Без графических библиотек разрабатывать на ZXDev нельзя. Начать бы надо с вопроса: а когда и кого останавливало отсутствие графических библиотек при разработке на асме? Да вам любой вменяемый ассемблерщик скажет, что набор кодовых процедур для каждой игры свой собственный. И на Спектруме редко когда удаётся использовать код из одной игры в других. Есть конечно примеры, так называемые, графические движки — SP1, Nirvana, BiFrost. И их конечно можно (и нужно) адаптировать для ZXDev. Я этим не занимался потому, что лично я разработку игр на них вести не планирую, а подобных просьб мне не поступало.

6. Оберон давно устаревший и мёртвый язык, никому не интересный и его знание никому не пригодится. Миф. Оберон, в отличие от старого Кобола или Фортрана, нисколько не архаичен. Его в наши дни активно применяют для коммерческой разработки в условиях, где требуется особая надёжность. Оберон обладает всеми качествами современного ЯВУ, обладающий сильными сторонами и благородством Паскаля, но ещё чище по синтаксису. Знание Оберона может помочь в освоении golang, Java или C#. Есть все перспективы считать, что навороченный Оберон, имеющий в себе языковым ядром набор проверенных семантических средств, имеет все права на жизнь и будущее.