问题
Another project from Jetbrains, their new issue tracker Charisma was written entirely in MPS. Is the concept useful/practical, or is it too soon?
回答1:
MPS isn't just DSLs for Java. It's actually language-angostic. You can generate your language into any other language that is supported by MPS. We support Java, XML, and plain text (as a last resort) out of the box in MPS 1.1. Probably, in future version, we will provide other languages such as javascript, css, etc.
One of the key features of MPS which isn't available in other tools is ability to compose languages. You can create several language extensions and compose them in a way that you want. For example, one vendor might implement a language for their database, and the other a language for financial calculations. They will work together well, and you won't have any problems like ambiguities, etc.
回答2:
Man. From my point of view, it's great. It's like Java on steroids, plus DSL-s. Dont' think about it only in terms of DSL. Think completely Turing-complete, including Java generation out-of-the-box. It's like Java 8 + "Common Lisp", on steroids, without the textual-syntax problems. To me it seems like the future. I'm investing in it my heart, mind and soul :).
If you are looking for something "ahead of its time", but still practical to use already and very much in touch with the current technologies, that's MPS!
回答3:
I believe MPS is very worth looking into. The tool is open-source and very robust. Ideas implemented in MPS are extremely powerful and solve a number of challenges that have been with us since the beginning of programming languages (most importantly, language composition). The quality of documentation has been a challenge for beginners, but you can now also read this new book: http://books.campagnelab.org/ (disclaimer: I am the author of the book, but I am not an author of MPS).
回答4:
It's not the case of 'too soon' but rather the fact that this development methodology is, in itself, rather challenging. The cost/benefit ratio for MPS (and by cost I mean dissemination time) depends largely on the type of the project you're applying it to. If you've got a domain that can benefit greatly from DSLs (for example, with me, it's project management), then go for it!
回答5:
It seems to be a DSL for Java. Why not investigate it yourself? If it just generates Java source files, I see no reason to not give it a crack, if it's something your interested in and there is no rush on the project.
来源:https://stackoverflow.com/questions/1177536/is-mps-a-meta-programming-language-worth-looking-into