Hacker News new | ask | show | jobs
by aranchelk 1018 days ago
Ultimately learning a DSL is learning a syntax, a vocabulary, a model of execution, and the underlying domain.

The syntax shouldn’t take you terribly long unless it was badly made.

In my experience virtually any project whether you use a standalone DSL, an embedded DSL, framework, library, or writing something yourself, you will have to understand the underlying domain to be useful.

The model of execution can be simple or possibly tricky. There may be a small benefit to having an embedded DSL or framework over a standalone DSL as information learned could be transferable, but model of execution could still be more complicated and different than the underlying language in the other case. I’m thinking of things like Chef, Angular, and Parsec.

That leaves the vocabulary which you’ll either need to learn or develop.

You’ll take all of the domain knowledge, which as already stated, is the important bit. If you work in the same domain, even if it’s with a very different language, model, etc., you’ll have a great insight into what’s going on.

I feel like the opinions expressed in the article really just show a lack of experience of what happens after you’re done working with a piece of tech.