What’s a domain-specific language, man?

My friend Venkat Subramaniam, who played a role in shaping early versions of easyb’s hip DSL, has recently published an article dubbed “Creating DSLs in Java, Part 1: What is a domain-specific language?” on JavaWorld. This is an excellent article that demystifies DSLs and demonstrates that you probably use them daily.

One of my favorite points Venkat makes is:

Simplicity is critical to the success of a DSL. A person familiar with the language’s domain must easily understand it.

He goes on to add:

Creating a good DSL is like cooking a nutritious meal; just like you want kids to eat vegetables without realizing and fussing over them, you want clients to use your DSL without worrying about its syntax.

Because it’s their bag, this notion of simplicity has been a guiding principle for the easyb team; yet, striving for clarity, conciseness, and expressiveness (other points Venkat goes on to make) within a DSL is harder than you think! You only need look at a classic make file to see, in my opinion, a DSL that creates a lot of fuss, baby.

Check out Venkat’s copasetic article and while you are at it, don’t forget to check out easyb, man!

Related odds and ends
 

Trackback this Post | Feed on comments to this Post

Leave a Reply