19 июня 2010 · Комментарий

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

Попытаюсь сформулировать резче: 1. Отличия language workbench и "традиционной IDE" со структурным редактированием пока так и не удалось описать. Более того, для language workbench пока не удалось по-простому описать практику создания языка (ибо для этого опять-таки нужно четко описать архитектуру language workbench). Это как с функциональным (да даже и с "классическим" уже ОО) программированием: привыкшему процедурно писать на Basic просто непонятно, в чем там фишка, а когда фишка становится понятна, непонятно как писать в этом стиле. 2. Дискуссию о пользе/вреде DSL нельзя считать законченной: эксперименты в этой области мало что показывают, и никого не убеждают. Более того, разница между DSL-подходом и расширяемыми языками (типа, например, Factor или ранее Forth. Ну, или нынешними Scala или Haskell) до сих пор не оговорена так, что понятно о чем идет речь. То есть я читаю ваш коммент так: "все то же самое, что обычно -- только путаннее и сложнее, поэтому пустое". Действительно, если MPS рассматривать как "структурный редактор", то это ужас-ужас-ужас. Но MPS это не структурный редактор.... Ну, и DSL не обсуждается в терминах онтологической постановки вопроса (это мы тут начинаем обсуждать онтологическое программирование), поэтому на ваше возражение про "неважность описания системы в терминах ее предметной области" невозможно отвечать, если не знать про принципиальное наличие описаний в нескольких предметных областях и тем самым неизбежность наличия множества разных DSL в одной и той же программе -- что ведет далее к необходимости иметь language workbench. Все это сейчас запутано, и внятных текстов нет, одни декларации -- в этом я совершенно согласен. В чем не согласен: идея с языкоориентированным программированием хороша, и для ее реализации требуется специальный инструментарий.

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