> Because, each in its own way, these languages encourage you to solve your problem in two steps:
> 1. Create a language to solve your problem;
> 2. Solve your problem.

Ruby does this too.
and i don't know if it's because of its Smalltalk heritage, or because the syntax is so flexible, and the prototype inheritance so malleable, that it's almost natural to create a DSL


A rare comments thread with SNR approaching infinity :-)

I think the article is correct without being right (if that makes sense). The DSL will be obvious in a #Lisp system, because lack of syntax. It will be non-obvious in a C++ or Java system. Tackling it piecemeal is probably best done by assigning aspects to devs, those aspects will have much less code in Smalltalk than in Java. That might be a management problem: what, only 100 LOC per dev!
Sign in to participate in the conversation

A Mastodon instance for Rubyists & friends