When I was lucky enough to use Lisp for a lot of my software development, I would sometimes think in terms of growing the Lisp language towards my application domain: in effect, build a new language on top of Lisp. This is probably the most natural style for Lisp development.

I have been reading an article by Sergey Dmitriev on an IntelliJ plugin for the MPS that is a workbench for growing application specific languages. There is also a tutorial for using this plugin.

If I had to make a prediction on the viability of tools like MPS, it would be that tools like MPS will be effectively used by highly skilled architects and developers, but probably not by mainstream programmers. The idea of building languages that closely model, for example, the way that your company does business is compelling because it would make it easier to engage domain experts in software development projects.