5 ms·
Is requiring someone to learn a programming language worse than requiring someone to learn a custom DSL? Seems a strange assertion.
by Anderkent 11y ago
Is requiring someone to learn a programming language worse than requiring someone to learn a custom DSL? Seems a strange assertion.
- lmm 11y agoA full programming language is likely more effort to learn than a custom DSL. If you're in a position where you can reuse the full programming language then it's probably better, but if you're never going to use that programming language for anything other than this one product then the DSL is probably better.
- dozzie 11y agoClojure is a bigger language than small custom DSL.
- mtrimpe 11y agoThe parts of Clojure required to write a config file are probably roughly the same size as a custom DSL though. Maps and lists are gonna be maps and lists...
- dozzie 11y agoExcept for Clojure's data model. You'll still need to understand what apostrophe ("'") does and what keyword (":foo") is.
- outworlder 11y agoYou can do that in five minutes. You can easily spend days trying to understand some arcane, adhoc configuration syntax that someone came up with. And still get the non-trivial cases wrong. It's a good thing that it's Clojure and not some freakish turing-complete XML-based configuration file.
- mhluongo 11y agoCustom DSLs eventually pick up those things, anyway. Greenspun's 10th rule? http://c2.com/cgi/wiki?GreenspunsTenthRuleOfProgramming http://c2.com/cgi/wiki?GreenspunsTenthRuleOfProgramming
- dorfsmay 11y agoI had forgotten about this... Thanks!
- dorfsmay 11y agoThe problem with immature DSLs are that you spend a lot if time figuring out if the bug is in the DSL or in your use of it, and lesser network effect: because they are less used, they are more buggy, there is less information and help about them out there, there are less tools you can use.