Language Workbenches have Finally Arrived
Martin Fowler has been talking about Language Workbenches as the next great thing for several years now. Intentional Software had been promoting their intentional programming editor as a language workbench, but you still can't buy it. Recently JetBrains launched version 1.0 of their own language workbench, MPS, and it looks promising.
For about 15 years Charles Simonyi has been working on the idea of using domain specific languages (DSL) to capture domain knowledge . This is called Intentional Programming because the DSL captures the intent. A closely related idea is that of Language Oriented Programming. Both ideas share the idea of a language workbench, a term coined by Martin Fowler.
A language workbench is a tool intended to make it easy to define multiple DSLs and use them on the same piece of code. So imagine that the syntax of your programming language, was just as a detail that was managed by the editor, just like modern editors control your font or syntax coloring today.
So do we care? I don't really know. As a language designer, I have looked at a lot of DSL toolkits and found them lacking in one way or another. The problem I have is that usually underneath it all is a mediochre VM driving the thing. I would need full control under the hood as well as the syntax. However, I do think that the idea of presenting the same abstract syntax tree (AST) in different ways to the user, probably can't hurt.
For more information on MPS the new JetBrains language workbench, read this article by Jon Erickson, or go to their site .

