Live data from Hacker News

Ask HN: How would a programming language look if designed by non-programmer

news.ycombinator.com

71–80 of 132 posts

Re: Ask HN: How would a programming language look if designed by non-programmer

#71
post #66

Take a look at Ladder Logic: https://en.wikipedia.org/wiki/Ladder_logic I don't think this was necessarily created by non-programmers, but it was certainly created for them. The language is designed to mimic electrical schematics with the idea being electricians, electrical engineers, etc can easily program and debug in the language. I'm a software engineer who has worked extensively programming PLCs with Ladder Logi…

oh shit

I've spend probably 20-40 hours with those and I must say that I like "normal" programming more

Re: Ask HN: How would a programming language look if designed by non-programmer

#72
post #58
post #42

Earlier quoted context omitted.

I'm of the age that I also consider 50 years ago to be the dawn of computing. Turns out it's closer to 75. :-) It has been said that non-programmers used to catch on to APL quite quickly back in the day. Faster than regular programming languages in fact. The designers, Ken Iverson, didn't even design the language to be run on computers but rather as a mathematical notation. Someone else mentioned Excel, and that is a…

> It has been said that non-programmers used to catch on to APL quite quickly back in the day Thompson and Ritchie also said their secretaries happily wrote troff . Do people get pampered too much today or are we severely underestimating them?

To be fair, troff was designed when typewriters were ubiquitous and is basically a direct analogue. It's not going to be hard for a professional typist (ie. secretary) to learn troff. It's like teaching R to a statistician.

Re: Ask HN: How would a programming language look if designed by non-programmer

#73
Either it is abondoned in the middle, or it would become something like it were developed by a programmer.

People thought writing code is the hard part. It is not. It is the underlying problem that is hard. And no language can really help you about that

Re: Ask HN: How would a programming language look if designed by non-programmer

#74
It's very hard to provide any interesting answer to that. I know programmers like to be all egalitarian and stuff, but...

What if we ignored all the road workers and asked non-construction people who kinda know how to build some stuff in their house to design & build a highway instead?

What if ignored all the architects and asked a non-architect who has put up a couple of sheds from scratch to build the next skyscraper?

What if we ignored all the doctors and asked a random person who knows some biology to treat cancer?

I think this may make it more obvious how this would go.

You may, very rarely, get some sort of interesting insight out of such things. I won't claim the probability is a flat mathematical zero. But it's not a very rich vein of insights. There's much richer veins available.

Re: Ask HN: How would a programming language look if designed by non-programmer

#76

I’ve actually posed this question to non programmers. The language they come up with usually resembles natural language English. Alternatively it looks like a box/line drawing. It almost never looks like programming as we conceive it.

It's also not a general-purpose language in many cases.

To the extent that I have made languages (mostly re-implementations or extensions) that were meant to be used by others (usually engineers doing analysis, or operators of a complex system), they had developed a bespoke DSL that represented their problem domain. They tended to fall into two modes: command oriented with mutation, declarative query languages.

The declarative query languages were often the most consistent and uniform throughout. Not totally, but no "Wait, why are we changing the model in the middle of this?" question arose. The command languages tended to be more ad hoc. Like they'd have procedures that changed things and looked more like conventional procedure calls, but suddenly there's a print statement or a query that looks very different than the rest. Like it was multiple languages jammed together, which in a way it was. Taken as a whole it's inconsistent, but taken in context different people wanted the queries than wanted the commands. An operator wanted the commands, an analyst wanted the queries, and the way they spoke to the initial developers resulted in a mishmash design. At one point they may even have been two different products that get combined because analyst/operators were increasingly common (also, automation, why automate via two tools when you can do the same job with one?).

Re: Ask HN: How would a programming language look if designed by non-programmer

#77
I believe this aphorism applies to programming languages, "everything should be as simple as it can be, but not simpler". And at the risk of not answering the question, the reality is that no one language would ever be sufficient because a programming language is a tool, not a solution. And different jobs/goals require different tools. Therefore, to paraphrase from Malcom Gladwell, there is no such thing as the perfect programming language for non-programmers, only the perfect programming languages.

From there I'd imagine the best thing we can do is discuss features/tools that are used today that would be good for non-programmers. As many commenters have suggested, this will probably appear like the existing suite of tools that non-programmers use.

First, maybe an interactive graphical component that allows a users to define the flow of data. Something like Visio to allow users to draw data & input/output, mixed with a component like MSAccess to define the data model. Then a natural language tool that would take normal language and apply rules on the data (Hypercard). Finally, a visual component (like Excel) to validate that the data is correct and potentially generate reports for other non-programmers.

Re: Ask HN: How would a programming language look if designed by non-programmer

#78
post #74

It's very hard to provide any interesting answer to that. I know programmers like to be all egalitarian and stuff, but... What if we ignored all the road workers and asked non-construction people who kinda know how to build some stuff in their house to design & build a highway instead? What if ignored all the architects and asked a non-architect who has put up a couple of sheds from scratch to build the next skyscrap…

Doing a professional's job or a tradesman's job is different from designing the tools they use to do these jobs.

So it would be asking a non-carpenter to design whatever tool they need to get nails to go into wood. You'd probably end up with some caveman looking rock strapped to a stick and then it would evolve into something very similar to a hammer. The claw on the back to remove nails may or may not be combined with the hammer.

Re: Ask HN: How would a programming language look if designed by non-programmer

#79
Python is pretty close.

I would pay good money to watch random people try to do something like get all the names from a CSV file in different programing languages.

Have them on a zoom with a Senior Software Engineer. But said Senior Engineer is not allowed to write any code directly.

In this hypothetical game show, I'd imagine most software engineers would pick python to try and teach remotely. Although it would be funny to see the same exercise with Rust.

Re: Ask HN: How would a programming language look if designed by non-programmer

#80

It would probably look a lot like Excel. Most people I work with who are non-programmers but who could benefit from coding spend a lot of their working life in Excel. When we teach them SQL and give them access to our data warehouse, a lot of the time the explanations that stick are thinking of it like a big spreadsheet with lots of pages and columns/rows. Spreadsheets are fundamentally very visual, and have few abst…

You mentioning visual languages makes me think of DRAKON, which was good enough for the Russian copy of the space shuttle project: https://en.wikipedia.org/wiki/DRAKON

Wow never knew that! Very interesting.

I don't know of many visual programming languages like this that have production uses. I've seen things like node based editing in Quartz Composer, various game engines, 3D modelling software, etc, but it's almost always only really for pipelines of graphical values rather than truly general purpose programming (even if they might be Turing complete).

Post reply on HN