The secret problem with DSLs
There is a lot of holladi about DSLs (in Ruby and Scala and everywhere). The secret problem with DSLs that nobody talks about is easy to explain: Growing and designing a language has been shown to be hard. Most people who think they could solve a problem with a DSL are not good language designers => disaster.
(Following the blogosphere there are lots of proposed DSLs which are ugly, inconsistent, hard to read and not useful)
You can leave a Reply here. Of course, you should follow me on twitter here.
I would argue that designing a good API is as hard, if not harder, than designing a DSL. A lot of the Java libraries have very bad APIs that are hard to use and remember. If the designers of those libraries have written a DSL for them they would have seen the difficulty in using their respective libraries and improved the DSL over time.