3 ms·
Your whole argument boils down to "use a DSL only when appropriate" - no argument here on my end. Still, I don't think that makes a DSL a bad fit for this spec
by debaserab2 7y ago
Your whole argument boils down to "use a DSL only when appropriate" - no argument here on my end.
Still, I don't think that makes a DSL a bad fit for this specific project, even by your own standards.
> 1) if you have time to make your DSL superbly executed, and 2) you are very certain it can make an entire class of problems go away, and 3) you don’t expect weird corner cases to ever show up in a future project that break the model ...then it’s worth considering.
#1 yes, just like any code you write, right?
#2 yep, this is the same thing as complexity/time trade off
#3 maybe? you can still have edge cases that you can't solve with your DSL but that doesn't invalidate its usage if the benefits from #2 are great enough.
And #4, which is the biggest reason and the reason to use it on a project like this: it provides a more accessible interface to your project for a broader audience of people.