Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Language Workbenches May Ultimately Completely Change the Way We Do Programming

Language Workbenches May Ultimately Completely Change the Way We Do Programming

This item in japanese

After many years in development, Intentional Software has finally released their Intentional Domain Workbench (IDW). JetBrains has open sourced their Meta Programming System (MPS), currently in Beta 2.

Magnus Christerson, Product Manager at Intentional Software, demoed IDW during DSL DevCon creating quite a stir in the audience. IDW is basically a Language Workbench but it also includes a Projectional Editing environment. The entire workbench is built around Intentional Tree which holds a semantic model allowing multiple projections of the domain and can be used to generate code. The user can view and edit the model through various projections, each edit updating the model and the other projections. The model is then converted into code through compilation.

IDW is targeted at programmers to build a domain specific environment for business domain experts.  The domain experts can express concepts and rules using any customary notation they prefer - their business domain language - which can be projected using text, graphics, symbols, tables etc.  The programmers job is to build the desired projections and also transformations that will generate code into a programming language domain. The domain expert will edit domain requirements that are then transformed into code. IDW currently has code generation domains for C#, Java, C++, Ruby, SQL, HTML, Javascript and XML, and additional can be added by customers.

The demonstration has greatly impressed the audience. Markus Voelter said:

If you're into DSLs, you *have* to watch this video. It clearly shows the potential. Give ISC a little bit more time to polish the system, and this is going to be a revolution!

Larry O'Brien:

Intentional Software has forged a silver bullet.

Glenn Block:

This is not about snazzy demos, this is about completely changing the world we know it.

IDW is not publicly available yet, Intentional Software choosing to share it with selected customers like Capgemini and ThoughtWorks. Magnus C. invites those interested to write him, but they should expect a very restrictive NDA.

JetBrains released Meta Programming System for a Language Oriented Programming (PDF) style. Basically, it is the same thing as a Language Workbench. The product is currently in Beta 2, the production being expected this quarter. MPS is free, most source code being available under Apache 2 License.

Useful resources: Lang.NET presentation on IDW by Magnus C., Martin Fowler’s report of the IDW demo held at Lang.NET, InfoQ presentation on domains and DSLs by Magnus C.

Rate this Article