“SQL is a DSL.” Well, it’s certainly not a general purpose language but why do I feel huffy about this statement?
Problems with DSLs for non-programmers
111–120 of 144 posts
Re: Problems with DSLs for non-programmers
#112The argument here boils down to: I haven't seen it work in places where I've been employed so it must not work. Reality check: I've worked on multiple large research teams that successfully developed DSLs still in use by domain experts -- military sigint in one case, doctors in another case, industrial engineers in another. We developed these languages for specific applications where the domain experts needed to prog…
Anyone who thinks DSLs for the general public can't work has never used Excel. The real trick is creating a domain model that "clicks" in the heads of your users.
Re: Problems with DSLs for non-programmers
#113Earlier quoted context omitted.
Anyone who thinks DSLs for the general public can't work has never used Excel. The real trick is creating a domain model that "clicks" in the heads of your users.
> Anyone who thinks DSLs for the general public can't work has never used Excel. I would say Excel is exactly the opposite of a positive example. Unless you mean being used as a sort of electronic scratchpad, which works okay. But apart from that there's too much freedom in Excel to be used to make anything properly. Every time I've ever seen a non programmer use it, they make a pile of spaghetti. You never have any…
That's just developer snobbism. Millions non-devs use Excel with excellent results, even whole business of billions depend on it.
(Excel has some flaws, and can give wrong results in some cases, but that's like "gotchas" in any language).
Re: Problems with DSLs for non-programmers
#114I've met many non-programmers who are quite comfortable with SQL. There are many smallish scripting languages that should qualify as DSLs that allow lay access to domains that mystify normal people. Excel comes to mind. Mathematica used to be one of these before it became a real general-purpose programming language, if a somewhat limited one. The author appears to be projecting their personal convictions onto everyon…
I agree that DSLs can work for non-devs, and Excel is a good example of this. SQL though, I'm less convinced about - while I've known business people to use it for basic queries, many devs struggle with anything more complex.
Re: Problems with DSLs for non-programmers
#115Earlier quoted context omitted.
> Anyone who thinks DSLs for the general public can't work has never used Excel. I would say Excel is exactly the opposite of a positive example. Unless you mean being used as a sort of electronic scratchpad, which works okay. But apart from that there's too much freedom in Excel to be used to make anything properly. Every time I've ever seen a non programmer use it, they make a pile of spaghetti. You never have any…
> I would say Excel is exactly the opposite of a positive example. Unless you mean being used as a sort of electronic scratchpad, which works okay. That's just developer snobbism. Millions non-devs use Excel with excellent results, even whole business of billions depend on it. (Excel has some flaws, and can give wrong results in some cases, but that's like "gotchas" in any language).
There are ways that they could make it less so, like only allowing cell references by name, using a saner scripting language than VBA, allowing multiple cell grids on a single page/sheet, etc.
"Millions of successful businesses are built on Excel" is no argument at all. You can build a successful business with pen and paper.
Re: Problems with DSLs for non-programmers
#116> The DSL fashion I oppose [...] is the fashion of self-baked business-specific tools that are intended to be used by users that are not programmers or even tech people. Those require much more effort than a regular system and are seldom to be done well. So it is better to think twice before creating your own DSL [...]
Re: Problems with DSLs for non-programmers
#117Earlier quoted context omitted.
> I would say Excel is exactly the opposite of a positive example. Unless you mean being used as a sort of electronic scratchpad, which works okay. That's just developer snobbism. Millions non-devs use Excel with excellent results, even whole business of billions depend on it. (Excel has some flaws, and can give wrong results in some cases, but that's like "gotchas" in any language).
I don't think it is snobbishness. Some programming systems definitely encourage hacky spaghetti more than others (if you don't believe me try using LabVIEW) and Excel is definitely in that category. There are ways that they could make it less so, like only allowing cell references by name, using a saner scripting language than VBA, allowing multiple cell grids on a single page/sheet, etc. "Millions of successful busi…
Re: Problems with DSLs for non-programmers
#118I've met many non-programmers who are quite comfortable with SQL. There are many smallish scripting languages that should qualify as DSLs that allow lay access to domains that mystify normal people. Excel comes to mind. Mathematica used to be one of these before it became a real general-purpose programming language, if a somewhat limited one. The author appears to be projecting their personal convictions onto everyon…
I agree that DSLs can work for non-devs, and Excel is a good example of this. SQL though, I'm less convinced about - while I've known business people to use it for basic queries, many devs struggle with anything more complex.
Re: Problems with DSLs for non-programmers
#119I'm surprised no one is talking about React JSX. I'd be very interested to hear the authors opinion on it. Unlike the author's examples, JSX isn't intended to be used by business people, but I think JSX presents some of the same problems but instead with regard to web designers. JSX is a DSL that was intended to help simplify and streamline the process of building a web app, but the leakiness of JSX as an abstraction…
Re: Problems with DSLs for non-programmers
#120P.S. I hate Gherkin, Cucumber and other DSLs that let you write the tests that “read like English” I'm with you there, friend! But then the author mentions Rspec as a good DSL, so I don't know what their ideal of a good DSL is because Rspec's about as English-like as it gets.