Все забывал рассказать этот анекдот.
Как известно, наиболее распространены два вида непонимающих-Forth:
- МИКРО-ФОРТЕР - фортер, считающий что Forth существует только в тех узких рамках, в которых он его понимает (обычно - в рамках стековой машины с шитым кодом). Следовательно, можно создать некое Forth-ядро (виртуальную Forth-машину), которую можно будет продавать любым Forth-программистам даже без объяснения внутреннего устройства.
- СТРУКТУРНЫЙ ФОРТЕР. Тоже верит в незыблемость понятия виртуальной Forth-машины. Однако, считает, что Forth есть нечто большее - а именно, структурное расширение этого "ядра" до размеров "обычного" языка программирования высокого уровня.
Их объединяет два постулата веры:
1. Написание своей Forth-системы есть не упражнение примерно уровня Этюдов Уэзерелла, но серьезное коммерческое предприятие.
2. Forth-система может быть достаточно серьезной и универсальной, чтобы на ней можно было "серьезно программировать", не вкладывая более ничего в развитие самой системы.
Но, вернусь к анекдоту.
Некие "серьезные манагеры" задумали приподняться путем участия в конкурсе по созданию серьезного девайса с Forth-начинкой. Чтобы не называть имен, пусть это будет условный космический корабль.
И, вот, через считанные недели после запуска проекта Forth-программист начал радостно рапортовать: "Уже почти готово! Вот-вот полетит!"
Не полетит.
Ибо допущены четыре ошибки:
1. Строя девайс, контактирующий с внешней средой, надо исходить из того, что он должен на эту среду реагировать. Подход: "Добавим чугуния и пофигу нам законы физики!"- не работает почти никогда. Правда, когда ребята заявили, что корпус девайса заказан в просвещенной Атавии, я, было воспрял духом, подумав, что купят достаточно летающую саму по себе вещь, которой надо только пальцем направление телепортации показать... Но, оказалось, что речь только о углепластиковой болванке, сделанной по "нашим эскизам" - картинке из старого журнала.
2. Ни один уважающий себя фортер не скажет: "Я пишу на Forth",- он скажет: "Я написал язык, на котором задача достаточно легко (при наличии у пользователя высшего инженерного образования) может быть описана".
3. Наш форто-демиург выложил даже скриншоты, показывающие лихие (под острым углом) повороты девайса: "Смотрите, как работает!" Очевидно, что так не бывает. Рыскание, помехи, обратная связь и прочие нюансы девайсо-вождения не могут не подпортить эту "геометрию". Лажа, однозначно.
4. Есть и скриншоты самой аппаратуры. И опять прокол - нет и следа "космического исполнения". А любой, имеющий дело с ВПК инженер скажет, что пока конструктора свое веское слово не сказали, вся электронная/программная начинка - тьфу.
Но, наши "серьезные манагеры" мне, ясное дело, не поверили. Даже не стали уточнять, что за четыре ошибки я имел в виду. А, ведь, все очевидно!
Первый образец героически накрылся еще до включения Forth-процессора (по первой причине). Ждем возобновления финансирования и отказов по остальным трем причинам.
...
Вот это я и называю тем "Непониманием", которое вынес в заголовок темы.