Jetbrains的另一个项目,他们的新问题跟踪器Charisma完全是用MPS编写的。这个概念是否有用/实用,还是为时过早?
MPS不仅仅是Java领域的DSL。实际上,它是语言无关的。您可以将自己的语言生成任何MPS支持的其他语言。在MPS 1.1中,我们内置支持Java、XML和纯文本(作为最后一种选择)。也许在未来版本中,我们将提供其他语言,如JavaScript、CSS等。
MPS的一个关键特性是能够组合语言,而这在其他工具中是不可用的。您可以创建多个语言扩展并以您想要的方式组合它们。例如,一个供应商可能会实现一个用于其数据库的语言,而另一个供应商则实现了一个用于金融计算的语言。它们将很好地协同工作,您将不会遇到任何歧义等问题。
从我的角度来看,MPS非常棒。它就像是Java在类固醇的基础上,再加上DSL-s。不要仅仅将其视为DSL。完全可以实现图灵完备,包括Java代码生成等功能。它就像是Java 8 +“Common Lisp”的组合体,在避免了文本语法问题的同时又有强大的能力。对我而言,它似乎是未来的方向。我已经用心、头脑和灵魂投入其中。
如果你正在寻找一些“超前”的东西,并且已经实用并与当前技术密切相关,那么MPS就是一个很好的选择!
这并不是“太快”的问题,而是因为这种开发方法本身就很具有挑战性。MPS的成本效益比(成本指传播时间)在很大程度上取决于您应用它的项目类型。如果您拥有一个可以从DSL(例如对我来说是项目管理)中获益匪浅的领域,那就去试试吧!
看起来是 Java 的领域特定语言。为什么不自己调查一下呢?如果它只是生成 Java 源文件,而且这是你感兴趣的东西,项目也没有什么紧急情况的话,我认为完全可以试试。