MPS - интересный зверь, обладающий огромным потенциалом. Идея просто фантастическая:
- Внутри IDE (MPS) пользователь более или менее визуально определяет свои DSL (s)
- IDE позволяет генерировать не только сам язык (среду выполнения или что он делает), но также и «инструмент», более или менее полноценный IDE, который он или другие пользователи могут использовать для редактирования этого нового языка.
При этом, к сожалению, по крайней мере для реальных доступных версий MPS, Jetbrains не смогли предоставить вышеуказанное (по крайней мере для меня), потому что:
- это очень очень сложно и сложно в использовании - как это не было бы сделано авторами простого в использовании IntelliJ.
- существует слишком много концепций и «способов», которые пользователь должен изучить, прежде чем он сможет сделать что-то полезное, и все же у человека возникает ощущение, что он стучит в темноту.
- IDE не будет генерировать IDE для вас, но что-то внутри MPS, только «Редактор на основе ячеек» (начиная с этой версии).
Я пробовал MPS несколько раз (потому что концепция такая замечательная и многообещающая), но, к сожалению, на данный момент я не смог сделать с ней что-то полезное.
Я мог бы быть глупым для MPS, но за то время, пока я только разбирался с MPS, я смог создать полноценный DSL на основе Groovy.
Я все еще слежу за эволюцией MPS и надеюсь, что однажды получу то, что изначально обещало, поскольку это такая фантастическая идея.