Live data from Hacker News

Problems with DSLs for non-programmers

artur-martsinkovskyi.github.io

21–30 of 144 posts

Re: Problems with DSLs for non-programmers

#21
> The last time I had a business analyst that wanted to write SQL, he tripped over one join and asked me to do the job. SQL is used widely, but it does not work that well for people who are not programmers. HTML and XML were also originally intended for non-programmers - where are they now? They are used by amateurs or enthusiasts sometimes, but most of the time programmers do the job.

At both is my last two jobs (SaaS and e-commerce startups), the marketing teams had several individuals proficient in SQL. Hell, in some ways (complex read only queries) they were probably better than me simply because they did it more often. There existed BI tools and dashboards for many things, but the savvier and more curious individuals always wanted to dig further out experiment with queries before getting them formalized like that.

Members of the email team knew a fair bit of HTML and CSS too. And email is not what I'd consider one an easy HTML medium.

Due to these examples, I can't agree with the article at all. Must be a selection bias experienced by author.

Re: Problems with DSLs for non-programmers

#22
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…

highly technical domain experts are not quite general public.

Re: Problems with DSLs for non-programmers

#23
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…

Are such successful DSLs described somewhere?

Generally my feeling is somehow similar to the one expressed in the blog post, ie. that DSLs don't work for non-technical people. If someone is able to use a DSL then he/she is also able to do regular programming, and many people don't have such abilities. And regular programming languages are better tools for the ones with the abilities.

Re: Problems with DSLs for non-programmers

#24
I think it's better to call the users of such high-level DSLs, accidental programmers. It's not like they are not programmers, its just that they don't see software development as their vocation or profession. Yes, it's important to have languages that target them (e.g. Excel, Latex, SQL). Design of such DSLs is important and hard work. We need more professional activity making DSLs usable, consistent, and extensible.

Re: Problems with DSLs for non-programmers

#25
post #18
post #7

Counter example: spreadsheets.

I think DSLs are about defining a 100% textual format. And spreadsheets are GUI apps. There's a DSL for defining a cell formula but in total it's a small part of the experience of using a spreadsheet app.

> I think DSLs are about defining a 100% textual format.

Spreadsheets are an argument for thinking outside of that particular box.

Re: Problems with DSLs for non-programmers

#26
I think there are good counter-arguments in these comments, but I also think DSLs should be approached with caution: creating a non-trivial DSL that is correct in a consistent and intuitive way, which provides useful feedback on syntax errors, and is documented well enough to be used by someone else, is a lot of work.

Re: Problems with DSLs for non-programmers

#28
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…

highly technical domain experts are not quite general public.

Is any one person the general public? No one is the average.

Re: Problems with DSLs for non-programmers

#29

I think it's better to call the users of such high-level DSLs, accidental programmers . It's not like they are not programmers, its just that they don't see software development as their vocation or profession. Yes, it's important to have languages that target them (e.g. Excel, Latex, SQL). Design of such DSLs is important and hard work. We need more professional activity making DSLs usable, consistent, and extensibl…

The research community calls them end-user programmers: https://en.wikipedia.org/wiki/End-user_development

Re: Problems with DSLs for non-programmers

#30
post #5

For most of the article the author seems to be discussing non-professional programmers rather than non-programmers. Or perhaps using the two interchangeably? There is certainly a need for non-professional programmers to be able to program (e.g. in the sciences). For non-programmers, programming a task via GUIs have been effective, although admittedly in the worst case they can devolve into a mess of check boxes, drop…

I'm not sure about what the article is specifically referring to, but end-user programming refers to a spectrum of people that need to accomplish a programming-like task without being a professional developer.

The paper "The state of the art in end-user software engineering" discusses this spectrum from an email user to a middle school child to a scientist: https://dl.acm.org/citation.cfm?id=1922658

Post reply on HN