InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

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

作者 Abel Avram 译者 王丽娟 发布于 2009年5月8日

领域
架构 & 设计,
语言 & 开发
主题
领域专用语言 ,
JetBrains ,
语言 ,
架构 ,
编程

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,比如CapgeminiThoughtWorks。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

译者 王丽娟 王丽娟,04年大学毕业后持续从事Java EE中间件产品的开发,现在主要关注Java技术及中间件产品在云计算环境中的发展趋势和应用。

完蛋了。这个东西已经被人搞出来了? 发表人 zhang 3 发表于
还是过份复杂了 发表人 zhang 3 发表于
  1. 返回顶部

    完蛋了。这个东西已经被人搞出来了?

    发表人 zhang 3

    我得仔细看看

  2. 返回顶部

    还是过份复杂了

    发表人 zhang 3

    什么时候定义DSL跟定义函数一样简单和直观呢?
    简单的意思是:没有额外的语法。
    直观的意思是:在定义语句中直观看到被定义语法的形态。