You are viewing archived messages.
Go here to search the history.

Chris Knott 2023-03-04 10:21:27

🐦 Gary Bernhardt: 1960s: "COBOL will let non-programmers make the software!"

1980s: "4GLs will let non-programmers make the software!"

2000s: "UML will let non-programmers make the software!"

2020s: "AI will let non-programmers make the software!"

Chris Knott 2023-03-04 10:23:19

I initially resonated with the tweet but I'm wondering if it's actually a fallacy hidden in a massive increase in the number of "programmers" since 1960s, and a huge increase in the complexity of the programs without any increase in the skill of the programmer (arguable a decrease in the skill)

Chris Knott 2023-03-04 10:24:00

I think there's a "God of the gaps"/"AI is what we can't do yet" thing here.

In 2022, "normal" technical people can go into Games Dev as a trade, in a few years be putting out computer programs like Call of Duty which are impossible to write in 60s PLs

Chris Knott 2023-03-04 10:27:31

In 2022

March and I'm still doing this 🙄. Can't believe nobody's rolled out a feature like Gmail's "You said 'see attached' but there's no attachment" yet for Q1 every year

Lu Wilson 2023-03-04 10:52:58

I think it's a funny one because as soon as a "non-programmer" starts making programs, I'd call them a "programmer". Can't imagine what a "non-programming programmer" actually is :)

or perhaps a "programming non-programmer"

Srini K 2023-03-04 23:00:09

I cook lots of mediocre meals for myself in my little kitchen at home, but I don’t call myself a chef or a cook

Andrew F 2023-03-05 01:12:04

"A programmer" is probably best understood as referring to someone whose primary occupation and training is the creation of software. The question then becomes, how low can we drive the training requirements so that people mostly trained in/occupied with other stuff, say cooking, can produce software useful to them "on their own" (without having to pay someone for custom work, that is; let's not think to hard about an airtight definition).

There's an even messier sense of "a programmer" which is roughly "person who write things in text files that a computer interprets" which is possibly closer to what's meant in the "let non-programmers program" type of goal statement. However this category becomes less meaningful if those goals are satisfied, for roughly the reason Lu Wilson said, and has little inherent connection with the first definition, except as a function of our current tools which are still, in actual use, almost entirely about editing text files...

...mainly because successfully programing by editing text files takes a lot of training. Hmm.

Konrad Hinsen 2023-03-05 09:03:22

Reminds me of one of my all-time favorite articles: "Beyond programming languages" by Terry Wingrad (1979). dl.acm.org/doi/10.1145/359131.359133 It's all about working productively with computers as part of some other activity, i.e. computers and software not being the focus of attention. And I doubt this will ever be achieved with a single idea or tool. It will require domain-specific approaches.

Lu Wilson 2023-03-05 09:44:38

A programmer is someone who makes a program. eg: A 6-year-old using Scratch.

EDIT: Sorry I've just realised that a 6-year-old using Scratch isn't actually a programmer - because they're not writing any text files that the computer interprets. They're actually a non-programmer. A better example of a programmer would be a 6-year-old using google docs.

EDIT: Sorry I'm just being facetious. But I do think that the definitions used around "programmer" are often more for gate-keeping or to elicit a reaction, rather than anything else - like in the referenced tweet :)

The idea of what a "programmer" is has changed over time and will continue to change, and they'll always be some resistance to that. Just like with any sort of change

Joakim Ahnfelt-Rønne 2023-03-05 21:10:44

A lot of spreadsheet users do a bit of programming in the manner of formulas. I think that kind of programming is about to become even more commonplace with the latest improvements in AI.