Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Aristotle (5147)


Blah blah blah blah blah []

Journal of Aristotle (5147)

Tuesday April 22, 2008
09:13 PM

Jim Weirich, author of Rake, on “DSLs”

[ #36223 ]

InfoQ :

I feel the term has probably been overused. I like to consider a Domain Specific Language to be something that talks about [a] problem domain, such as configuring workflow to solve some business problems or […] something that is business related in the problem space. And I see a lot of us using Domain Specific Languages to solve programmer problems, which are really problems in the solution space.


What I want to use a DSL for is I want to be able to take a problem that a user comes to me and […] create a DSL that describes it. I don’t think that the business person needs to be able to write the DSL, but I should be able to write it in the DSL, show it to a business person and they can say: “Yes, that’s what I want” and it is something that is immediately obvious to them that it solves their problem domain. It’s Domain Specific Language and if it is not addressing a domain, the term DSL seems kind of loose for me.


So I think you can have libraries with good interfaces but that doesn’t necessarily make them DSLs, certainly dropping parenthesis off a library call doesn’t make it a DSL.

What a refreshing perspective.

This is the first time I have heard someone give a definition of “DSL” that is restrictive enough to have actual meaning. Later on he also gives a similarly reasonable definition of BDD, Behaviour-Driven Development. (His first statement? There’s no difference between BDD and TDD.)

[The transcript is kinda hidden; you need to click show all at the bottom of the inset frame to read it.]

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.