4 ms·
Yes, eat your vegetables! A question of philosophy: If you have all that, don't you already have a DSL, using a deep embedding in the host language?
by couchand 3y ago
Yes, eat your vegetables!
A question of philosophy: If you have all that, don't you already have a DSL, using a deep embedding in the host language?
- seanc 3y agoI certainly think so. Or at least I find it very helpful to think about interface design that way. It's DLS's all the way down.
- jimbokun 3y agoYes, but the language in which you create your framework can do a lot of the heavy lifting. For example, if your main interface is a REST API, there is a large body of knowledge of best practices, educational resources, and existing tools for interacting with it. With a new DSL, you need to create all of that yourself.
- couchand 3y agoThe point I (and it seems several others here) are trying to make is that your API already is a DSL, the question is just whether it's a good one or a bad one. A good one is internally consistent so that users have predictability when writing and reading usage. A good one uses the minimum number of distinct elements required for the problem domain. A good one lets the user focus on what they're trying to do and not how they need to do it. The principles apply regardless of interface. Physical device, software UI, API, DSL, argument over HN, it's all a continuum.