3 ms·
Perhaps someone who knows this material can advise us about something. I just looked through the linked ToC and am surprised that nearly everything is about DSL
by gruseom 16y ago
Perhaps someone who knows this material can advise us about something. I just looked through the linked ToC and am surprised that nearly everything is about DSL internals. Example:
Express statement sub-elements of a function call by putting them into a closure in an argument.
This is all easy stuff! The hard part is figuring out what a DSL should be. For all the hype about them, there are precious few examples of good ones. The successful ones are nearly always purely technical things like regular expressions that, while marvelous, do not even attempt to deliver on the promise of accessibility to domain experts. By far the majority are junk because they do a poor job of modeling the domain. This has little to do with closures or even parsers. To focus on such details is to take the easy way out (though I suppose it might sell more books to programmers infatuated with the idea of DSLs, who are more interested in, say, syntax-directed translation than in insurance or crop yields).
When asked what they thought of Elvis Costello, the Sex Pistols replied, "He wears glasses without any actual glass in them." Surely Martin Fowler has not written a Domain Specific Language book without any actual Domain in it?
- wlievens 16y agoI interned at a language engineering research lab in 2003-2005 and I heard the exact same sentiment about DSL's from most people working there. All the typical examples are techie languages (SQL, Rake, ...). I've almost never seen a non-techie DSL whereas that is ultimately the promise of the concept. It's sad the DSL story has barely changed in seven years. I haven't read the DSL book, but if it's about parser/evaluator technicalities as you claim, one might as well (re)read SICP.
- Parabola 16y agoI haven't read it, but this may be up your alley: http://www.amazon.com/gp/product/193435645X/ref=s9_cxhsh_co_ir06?pf_rd_m=ATVPDKIKX0DER&pf_rd_s=left-2&pf_rd_r=1VABHEGVDYRMHDWKY0MS&pf_rd_t=3201&pf_rd_p=1263271402&pf_rd_i=typ01 http://www.amazon.com/gp/product/193435645X/ref=s9_cxhsh_co_...