« Language design is hard | Home | LinkedHashMap trick »
DSL renaissance
During my last post, I had a few thoughts on domain-specific languages, too. Languages like Ruby and Groovy have really led the way in the last few years in a renaissance for embedded domain-specific languages.
I think for certain problems, DSLs are a beautiful solution. I find it hard to get excited about the more model-y forms of this like Microsoft’s software factory stuff or really the whole term language oriented programming. Maybe that’s because I see DSLs as a tool to use, not a new way to program. I believe that the bulk of an application will be written with a general purpose language for a long time to come. DSLs are a great way to allow users to control parts of an application in terms they understand, without forcing them to also learn and use a general purpose language. They can also be useful within an application if you need a more succinct way to represent well-defined domains of knowledge, rules, etc, particularly if the details change frequently.
Some people have advocated radically different paradigms based on models or graphical programming techniques. Personally, I’m not buying it. I don’t think it’s an accident that we program in textual programming languages. Textual languages are the pinnacle of what humans have developed for symbol representation and manipulation. For programming, nothing beats text for its combination of information density, precision, input speed, human understanding, and machine understanding. I think programmers are going to be typing characters into text editors for a long, long time to come.
About this entry
You’re currently reading “DSL renaissance,” an entry on Pure Danger Tech
- Published:
- Sep 22 2007 / 1:32 pm
- Category:
- programming, dsl, ruby, scripting, languages
- Vote:
- Other posts with these tags:

4 Comments
Jump to comment form | comments rss | trackback uri