DSLs are a waste of time
leebriggs.co.uk
DSLs are a waste of time
1–10 of 165 posts
Re: DSLs are a waste of time
#2 budget: $23000
pricing: cheapest
cpu:
preferred: xeon
cores: 8
mem: 64gb
disk:
preferred: ssd
And some --import-usage flag to specify a folder of historical CPU and memory usage from Grafana.Re: DSLs are a waste of time
#3Perhaps if no relational database existed before today, the standard grammar would just be javascript - but I think not.
Re: DSLs are a waste of time
#4Re: DSLs are a waste of time
#5DSLs are more succinct. The are declarative. They are closer to English. Perhaps if no relational database existed before today, the standard grammar would just be javascript - but I think not.
DSLs need not be succinct.
DSLs need not be close to English at all.
All of these are properties which may or may not apply to a _specific_ DSL, they are not defining features.
Re: DSLs are a waste of time
#6I think calling terraform a DSL in comparison to general purpose programming languages misses the point. If it used a declarative GPPL instead of HCL I wouldn't care, but imperative alternatives general purpose or not are 'a waste of time' & not fit for the domain, IMO.
As it turns out, what matters is whether the model is declarative. As some uses of YAML go to show, declarative vs not is an orthogonal axis to how general purpose or otherwise a language is, and orthogonal again to whether it looks like a configuration file or code.
Re: DSLs are a waste of time
#7I think calling terraform a DSL in comparison to general purpose programming languages misses the point. If it used a declarative GPPL instead of HCL I wouldn't care, but imperative alternatives general purpose or not are 'a waste of time' & not fit for the domain, IMO.
Think of it like if you used a GPPL to emit HCL. You get the power of that language: loops, function calls, unit tests, or even the ability to call external APIs. You're declaraing desired state and letting the framework sort it outb which is you say you aren't writing imperative code like:
if (!exists(dnszone)) create(dnszone);Re: DSLs are a waste of time
#8DSLs are more succinct. The are declarative. They are closer to English. Perhaps if no relational database existed before today, the standard grammar would just be javascript - but I think not.
DSLs need not be declarative. DSLs need not be succinct. DSLs need not be close to English at all. All of these are properties which may or may not apply to a _specific_ DSL, they are not defining features.
Re: DSLs are a waste of time
#9Why don't we have a tool that lets us associate monetary budgets to concrete hardware specs, and then generates a cross-cloud (or cloud-agnostic) configuration? budget: $23000 pricing: cheapest cpu: preferred: xeon cores: 8 mem: 64gb disk: preferred: ssd And some --import-usage flag to specify a folder of historical CPU and memory usage from Grafana.