Live data from Hacker News

Problems with DSLs for non-programmers

artur-martsinkovskyi.github.io

11–20 of 144 posts

Re: Problems with DSLs for non-programmers

#11
post #7

Counter example: spreadsheets.

Yes, and it's so strong it makes the topic totally moot. The author has just stated in his experience DSL:s have turned into a mess. The same could be said for any known well established technique that is not used competently. "No, all tools don't suck. But please don't use the chainsaw as a hammer"

Re: Problems with DSLs for non-programmers

#12
post #8

The 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

#13
I'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 everyone else.

Re: Problems with DSLs for non-programmers

#14
To add another counterexample into the mix, I’ve met many artists and designers who are proficient with Unreal Engine’s Blueprint with no C++ experience. Some have even shipped games made entirely in blueprint with no traditional code.

Re: Problems with DSLs for non-programmers

#16
It would have helped if the author would have given their definition of a DSL at the start.

Embedded in a later paragraph a DSL is defined as having a syntax where "code that must look similar to proper English of the domain."

I tripped over that because, as a schemer, it's easy to discover there's really no fundamental difference between a "DSL" and "a program", in any programming language.

Re: Problems with DSLs for non-programmers

#19
post #17

Another counterexample: LaTeX, used by zillions of career mathematicians and physicists every day.

The example given, SQL, also falls flat. There’s plenty of people who are technical but not developers and use SQL for their daily lives. I know a marketing manager who is better than me at SQL.

Heck, I ask a PM at work to debug some of my complex queries and he asks me for help with sample code for a developer product.

Re: Problems with DSLs for non-programmers

#20

I'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…

SQL can bite back with the sometimes non-intuitive consequences of its version of three-valued logic. Unfortunately, some professional programmers have trouble with it. I once had to sort out a situation where the developers were blaming the users for not using the system correctly, when the problem was with the queries.

Spreadsheets are another good counter-example to the author's thesis. They, too, can be misused, but that is outweighed by the great many cases where they are used well by non-programmers.

Post reply on HN