Live data from Hacker News

Problems with DSLs for non-programmers

artur-martsinkovskyi.github.io

41–50 of 144 posts

Re: Problems with DSLs for non-programmers

#41

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…

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

#42
post #18

Earlier quoted context omitted.

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.

Spreadsheets are about thinking inside of a lot of little general boxes, instead of just one big particular box.

Re: Problems with DSLs for non-programmers

#43
post #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.

I came to say that exact thing. Good DSLs are almost unnoticed, because they are frictionless.

Re: Problems with DSLs for non-programmers

#44
Jetbrains, makers of IntelliJ IDEA and PyCharm, have a DSL-creator tool called MPS [0]. It looks interesting, lets you include language and "non-textual" elements including "math notations, diagrams, and forms." I'd like to apply it in some context.

[0] https://www.jetbrains.com/mps/

Re: Problems with DSLs for non-programmers

#46
post #7

Counter example: spreadsheets.

Yep. But they're overused and underused each day... Everything can be a spreadsheet and nobody questions if there are better ways of holding that particular data

The issue that I've seen with Excel is that it's often seen as the hammer -everything is a nail- for people that are less inclined with technology / set in their way.

They will use it both as intended, a spreadsheet for calculations, usually for reports.

But also as publishing software (think InDesign) and format their spreadsheet to look like an invoice / quote, a hand made Gantt chart (yeah with arrows as delimiters, as opposed to filling the cells), etc ...

It's both a fascinating and horrific thing to behold, something that wouldn't be out of place in a H.P Lovecraft story.

We're going to try to get the Gantt folks to modernise a bit and use a dedicated tool for planning but we already know it's going to be complicated to get the senior folks to even consider it.

Re: Problems with DSLs for non-programmers

#47

DSLs for non-programmers are battle-proven. The author dismisses SQL with an anecdote but the simple fact of the matter is that SQL is known and used proficiently by a massive number of non-programmers to get real work done. I guarantee you there are numerous non-programmers that know SQL better than the author, but he met a few guys who aren't so good at it so he thinks nobody else is. Terrible article.

how many time did these "non-programmers" spend on learning SQL ? wouldn't have they learned basic programming skills on languages such as python or ruby during the same time ? The problem with DSL is the S, they are Specific, and trap the "non-programmers" in a non-programming culture. If they want to do something a little different than the DSL is targeted for, they are unable to.

Excel is good example, it is REAL good tool for what it is meant for, but I seen many people doing crazy thing with excel that can be done with very basic python in a dozen of basic statements. Why ? because they people never learned to do other thing than excel sheets, "When you only have a hammer everything looks like a nail".

Re: Problems with DSLs for non-programmers

#48
post #33

Earlier quoted context omitted.

highly technical domain experts are not quite general public.

I wouldn’t say that doctors are necessarily technical (when it comes to software).

Casual conversation I had with a top surgeon trying to login to an account:

me: It's case sensitive - you need a capital letter.

him: How do I do that?

me: Hold down the shift key.

him: Where's that?

Re: Problems with DSLs for non-programmers

#49
The SQL example is rediculous. I wasn't a programmer when I decided to use SQL, but learned it to be better at my job. After I learned it everyone else thought what I could acheive was magic. I only had read access so I had to be able to perform advanced subqueries, windowing statements , etc. After a couple of years my skills could embarrass most programmers in the company (minus the Oracle dbas). This is because the programmers wanted to write SQL in a proceedural way using plsql and were never very comfortable with set theory.

This knowledge expanded my power within a mutibillion dollar company and I went from temp analyst to director of supply chain business system and informatics within 3.5 years. I also decided to learn python due to the data libraries, and my power grew more as I automated most routine processes in my department. I required every employee of mine to learn SQL and gave them 3 hrs every Friday for self study. Our supply chain went from being ranked 340 in the country ( for our industry) to the within the top 10.

Don't tell me non programmers can't learn SQL. Also these DSL get people like me that should of gotten a CS degree the experience and confidence to get deeper into programming. Now I write python and clojure. In fact, because I have deep domain specific knowledge in supply chain I can apply my programming in ton of different ways. I find most corporate programmers have all these skills and either don't really know how to apply it to really help the business, are too lazy and think of the business stakeholders as a annoyance, or just do their job and go home.

I think it is going to be hard to bea white collar worker in the future if you don't know how to program.

Re: Problems with DSLs for non-programmers

#50
post #37

Earlier quoted context omitted.

I think these are examples of a https://en.wikipedia.org/wiki/Visual_programming_language , while https://en.wikipedia.org/wiki/Domain-specific_language#Examp... are purely text-based.

Don't confuse a deficiency of a wikipedia article for the definition of that thing.

[deleted]
Post reply on HN