ailev.ru

18 сентября 2009 · Комментарий

Без заголовка

Разработка "языконезависимого интерпретатора/компилятора" и "языконезависимого (в т.ч. графического) редактора" является очень сложной задачей. Зато перспективы очень заманчивы: каждый эксперт-непрограммист может получить собственный кастомизированный (инженерный, финансовый, управленческий и т.д.) DSL, и все эти DSL, адресующие множество различных интересов заинтересованных сторон, будут работать совместно. Заманчиво-то заманчиво, но утопично. Тут не только задача сложная, а и требования совсем другие: в ситуации комплексирования разных языков, софт должен быть на порядок более качественным. Ибо ошибки будут вылезать при стыковке разнородных языков и моделей. И вероятность этого растет пропорционально кол-ву DSL/concerns. Если в обычном проекте, на ошибку в компиляторе можно забить/проигнорировать, то при комплексировании ДСЛей сделать это может оказаться на порядок труднее, потому как автоматизированным тулзам не объяснишь, что надо с этой ошибкой жить. Т.е. надо переписывать тулзы. При этом у них "поедет" (усложнится) ихняя мета-модель. А при следующей ошибке усложнится еще. Ну и т.д. Поэтому вся эта мета-мета- должна базироваться на прочном фундаменте, на качественном софте. Такой сейчас не умеют делать. Сейчас даже простые вещи типа Аспектов трудно применять в программистких проектах, ибо никто не умеет их тестировать. Написать-то можно, а как убедится, что это работает так как надо? Там ведь компилятор такого нагенерит. Вобщем, тут концептуальный затык в мозгах очень серьезный. Но в долгосрочном плане, все конечно в эту примерно сторону будет двигаться. Т.е. как-то будут эти проблемы преодолевать, но это огромная работа. Тут впору Алана Кея вспомнить, о компьютерной революции :).

К записи · К обсуждению