InfoQ

News

Language Workbenches May Ultimately Completely Change the Way We Do Programming

Posted by Abel Avram on May 06, 2009

Community
Architecture
Topics
Domain Specific Languages ,
Language
Tags
JetBrains ,
Intentional Software

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.

When will DSLs be mainstream? by Johan den Haan Posted May 6, 2009 3:58 PM
  1. Back to top

    When will DSLs be mainstream?

    May 6, 2009 3:58 PM by Johan den Haan

    These workbenches are a real stimulant for DSL development. I wonder how long it will take until the design and use of DSLs is just mainstream...

    I guess we're going to see a split between developers going 'meta', i.e. they are going to use DSL tools to produce Model-Driven Software Factories, and developers just using that factories in which they 'program' or 'model' using domain-specific abstractions.

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.