语言工作台可能最终会完全改变我们的编程方式

Intentional软件经过了多年的开发,终于发布了其Intentional领域工作台(IDW)1.2版本。JetBrains则开源了目前处于Beta 2阶段的元编程系统(MPS)。

Intentional软件的产品经理Magnus Christerson在Lang.NET讨论会上演示了IDW,引起了强烈反响。IDW本质上是个语言工作台,但它也是个投影编辑环境。整个工作台围绕意图树(Intentional Tree)建立,意图树是允许领域进行多重投影的语义模型,也可用来生成代码。用户可以从不同投影查看和编辑领域,每次编辑都会更新领域和其它投影。接着,模型会编译转换为代码。

IDW主要用来让程序员为业务领域专家搭建领域特定环境。领域专家可以用他们喜欢的任何业务领域语言表述概念和规则,这些领域语言可用文本、图表、符号、表格等方式进行描述。程序员的工作则是建立理想的投影,以及生成编程语言领域代码的转化方法。领域专家会编辑领域需求,这些领域需求接着会转化为代码。IDW目前有C#、Java、C++、Ruby、SQL、HTML、Javascript和XML的代码生成领域,用户还可以添加补充。

演示给观众留下了极深刻的印象。Markus Voelter说:

如果你对DSL感兴趣,你务必要观看这个视频。它清楚地显示了IDW的潜力。如果ISC有更多点儿的时间来润色该系统,它会成为一场变革!

Larry O'Brien评论说:

Intentional软件锻造了一颗银弹。

Glenn Block评论道:

这不是个时髦的演示,我们知道,它可是能完全改变世界的。

IDW目前尚不公开提供,Intentional软件只和选定的客户共享IDW,比如Capgemini和ThoughtWorks。Magnus C.邀请感兴趣的同学联系他,但要求这些同学签署严格的保密协议。

JetBrains发布了针对面向语言编程(PDF)风格的元编程系统。MPS基本上也是个语言工作台。它目前处于Beta 2阶段,预计本季度投入生产环境。MPS是免费的,大多数源代码在Apache 2许可下可用。

可用资源:Magnus C.在Lang.NET上进行的IDW介绍,Martin Fowler在Lang.NET上对IDW演示的报告,InfoQ上由Magnus C.所作的有关领域和DSL的视频。

查看英文原文:Language Workbenches May Ultimately Completely Change the Way We Do Programming

你可能感兴趣的:(语言工作台可能最终会完全改变我们的编程方式)