Wednesday, January 19, 2011

The idiocy of domain specific languages

I consider domain specific languages (DSLs) to be harmful. It's harmful in the way aspect oriented programming is harmful, only twice as grave.

Why?

1. If they get popular, they'll lead to language proliferation within each industry, because - let's face it - nobody waits for language design committees anymore.

2.  The point of a DSL is to raise the level of abstraction, and introduce language-level constructs, applicable for the domain at hand. But every application has non-domain parts (generic logic, architectural stuff, technical glue and whatnot), and these are usually not possible to factor out without things getting really messy.

3. Designing a language, DSL or not, is very difficult to get right. Any DSL attempts within the average company is bound to be lame in the long run.

4. I'm getting tired about talking about DSLs.

Just use a general-purpose programming language and learn how to find and implement the proper abstractions.

No comments:

Post a Comment