Comments 28
Фидбэк: вы забыли объяснить, зачем это все. Почему для Weather prediction нужен свой язык? Почему не писать сразу на Java?
потому что разработчики готовы пойти на многое, лишь бы не писать на Java?
Ха-ха. :) Да на чем угодно, на Scala, на Clojure...
На практике не встречал случаев, когда оправданно городить свой DSL, обычно все вполне решаемо средствами Domain Driven Design. Разве что декларативные языки, но это скорее конфигурация (из которой генерировать код может быть оправдано из соображений производительности, ога).
Какие «бизнес»-задачи будет решать этот язык?
Совсем непонятно и сумбурно.
Начните статью с того, чего мы хотим добиться.
Покажите язык, который мы хотим разработать, покажите как оно выглядит.
Потом уже можно расписывать как мы этого добиваемся, по пунктам.
Почему мы пишем root: false
? Зачем мне знать про все эти properties и классы?
Объяснять надо отталкиваясь от проблемы, и только то, что нужно.
А сейчас выглядит как будто автор открыл новый проект, что-то там потыкал, расставил false/true и вот что-то уже получили, смотрите в конце..
В каком-то подкасте слышал что какая-то часть YouTrack была написана на MPS,
а потом они переписали на других технологиях, никто не знает так ли это?
сначала под проект делается язык, а потом на языке делается проект
С этой точки зрения, DSL — это как фреймворк, только с более удобным интерфейсом. Ясное дело, под один проект фреймворк делать никто не будет, за исключением совсем уж монструозных случаев. А сделать его под конкретную предметную область — почему бы и нет?..
JetBrains MPS — IDE для разработки проблемно-ориентированных языков программирования