Red Echo

November 3, 2008

Why are all the programming language geeks suddenly obsessed with “DSLs”? What’s the point? Seems to me like a massively over-engineered way to design a plain old library API.

4 Comments

  1. Because DSLs are really the only remaining “frontier” (I say that while snickering) in language design. General purpose languages have been done to death, and you have to fight with languages like C++, VB, Java, PHP, et al — which is really hard!

    What’s funny to me is: even those languages are DSLs. Who uses C++ to write web pages? Who uses Perl to write desktop apps? Who uses VB to write device drivers? ;-) It’s all the same concepts, and it’s all a fun brain exercise.

    Comment by Aaron Ballman — November 3, 2008 @ 1:56 pm

  2. On a smaller scale, because encapsulating a set of notions into a language often provides a good way to keep people from poking their fingers directly into the inner workings and thereby screwing stuff up. Take an expression graph, make the only access to it via a language that describes it, and you get pre-emptive smackdown on the bozo who says “well, if I tweak this bit from C just this once…”

    But I’ve been diddling about with Python, and after some fun playing around with it I started to think “wait, why am I not doing this stuff in C++?” Languages are great when they give you something more, like regular expressions in Perl, but as much as Python triggers my “this is really convenient” buttons, when it comes down to accomplishing stuff I start to wish I had strong typing again.

    Comment by Dan Lyke — November 3, 2008 @ 5:28 pm

  3. Hey, when am I going to see a picture of your finished halloween costume?!

    Comment by Joanna — November 6, 2008 @ 2:13 pm

  4. There’s a photo of me in the costume up on flickr. I haven’t been taking much care of the blog lately…

    Comment by Mars Saxman — November 6, 2008 @ 5:11 pm