On Fri, Jun 21, 2013 at 8:26 AM, John Gateley <rac...@jfoo.org> wrote: > Subject for discussion: > > http://firstround.com/article/The-one-cost-engineers-and-product-managers-dont-consider# > > Interesting sentence in the middle: > > Consider DSLs, abstractions and the attraction to being the one to build a > framework that gets leveraged for years. > > > I think Racket is a different target: education vs. engineering (is this > true?).
Racket is certainly targeted at software engineering -- we all do lots of it to build Racket *in* Racket, and people build complex software systems on top of Racket. > As a software > engineer, I really agree with the article. Complexity is almost always a > terrible thing, > whether it is a DSL, a complex implementation of a simple interface, or just > the > one additional thing requested by product management that didn't fit. > > For Racket: are DSLs a source of complexity? Or would you argue that they > reduce the > complexity normally introduced with DSLs? I agree with much of the article (and lots of could well apply to Racket) but I strongly disagree with what they say about frameworks and DSLs. The most fundamental tool we have in computing for managing complexity is abstraction, and DSLs are an enormously powerful form of abstraction. I'm unclear on why the author thinks that a DSL increases complexity -- perhaps the DSLs they've used have failed to genuinely abstract things, and required users to work at both the abstraction and implementation level. There, I think Racket does help produce genuine abstractions. Sam ____________________ Racket Users list: http://lists.racket-lang.org/users