Wednesday, December 27, 2006

Internal vs. External Domain Specific Languages

Martin Fowler mentioned at the end of his speech he had recently on JAOO conference, it is difficult to gauge the impact of Language Workbenches and inherently External Domain Specific Languages. Although neither Intentional Software nor JetBrains have revealed themselves yet what they are up to, I do not believe people will start creating external DSLs recklessly sooner or later. It is much too difficult to create a new language, its parser and teach this language other people, simpler the language can be.

What I believe more is that people start to realize their APIs and libraries in currently used general-purpose languages should resemble DSLs more so other people can use these as a new language with all properties a new language has. Thus the resulting application will be much better layered and different aspects of the project separated while keeping one (or few) programming language(s) with one syntax only within whole project.

The main difference will not be in programming, it will be in thinking about programming.