Duncan Cragg 2023-03-26 12:24:29 So, I'm an EUP person at heart, and this ChatGPT thing has obviously got me thinking all over again about what programming would look like to a non-technical person. At heart, I feel it should be like they're "casting spells" over reality (or virtual reality). This tips into the area of cognitive modelling: how close the physical manifestation needs to be to be able to be abstracted up to a satisfying cognitive model that matches the human's intention. In other words, you cast a spell "make that banana green!" and it comes back a lurid dayglo green, that would be a cognitive dissonance because really, you'd expect to simply get a very unripe-looking banana. What are the elements of this formalised spell-casting, this "programming system"? You have objects (banana, this one, not all ones), attributes (green, the correct one!), a sense of time or evolution (went from yellow to green). You start to get into Roget's Thesaurus land: what are the key concepts for describing the world, our human world?
Anyway, just a splat of the stuff buzzing around my head right now. Thoughts?
Duncan Cragg 2023-03-26 13:14:50 If you're telling ChatGPT what, say, "single-use app" you'd like to make, it's like a business person telling the techies what they want. For that, back in the 90s there was talk of requirements or specification languages. Not sure where the world is with those any more!
William Taysom 2023-03-26 13:38:55 Lots of thoughts as you can guess.
The first minor thought is that this kind of programming is a lot less like the arcane incantations of current systems and a lot more like explaining things to a person, with all the attendant difficulty there.
The major thought is that, for things nontrivial, getting on the same page as another person is by no means easy. Programming then becomes project management?
Duncan Cragg 2023-03-26 13:43:36 Exactly: you're trying to be unambiguous and reach a shared cognitive model. I'm wondering about the formalisation of that in some way.
Duncan Cragg 2023-03-26 13:44:59 What is the common "language of thought", the modelling formalism, between humans and between humans and ChatGPT?
Duncan Cragg 2023-03-26 13:46:26 Very few people have been in the position of being a project, well, not manager, maybe product analyst
Duncan Cragg 2023-03-26 13:48:06 It's opened up a huge unexplored world. Projects just muddle by with good faith and the driver of business value. But Joe Normal wanting a single-use app is a whole new thing
Paul Tarvydas 2023-03-26 15:31:30 “... what are the key concepts for describing the world, our human world? ...”
I would suspect that the key concepts are (1) pointing at something with a finger, (2) gazing at an object with eyeballs and conscious attention.
I suspect that “make that banana green!” would be said as “make that green!”
Duncan Cragg 2023-03-26 12:24:29 So, I'm an EUP person at heart, and this ChatGPT thing has obviously got me thinking all over again about what programming would look like to a non-technical person. At heart, I feel it should be like they're "casting spells" over reality (or virtual reality). This tips into the area of cognitive modelling: how close the physical manifestation needs to be to be able to be abstracted up to a satisfying cognitive model that matches the human's intention. In other words, you cast a spell "make that banana green!" and it comes back a lurid dayglo green, that would be a cognitive dissonance because really, you'd expect to simply get a very unripe-looking banana. What are the elements of this formalised spell-casting, this "programming system"? You have objects (banana, this one, not all ones), attributes (green, the correct one!), a sense of time or evolution (went from yellow to green). You start to get into Roget's Thesaurus land: what are the key concepts for describing the world, our human world?
Anyway, just a splat of the stuff buzzing around my head right now. Thoughts?
Duncan Cragg 2023-03-26 13:14:50 If you're telling ChatGPT what, say, "single-use app" you'd like to make, it's like a business person telling the techies what they want. For that, back in the 90s there was talk of requirements or specification languages. Not sure where the world is with those any more!
William Taysom 2023-03-26 13:38:55 Lots of thoughts as you can guess.
The first minor thought is that this kind of programming is a lot less like the arcane incantations of current systems and a lot more like explaining things to a person, with all the attendant difficulty there.
The major thought is that, for things nontrivial, getting on the same page as another person is by no means easy. Programming then becomes project management?
Duncan Cragg 2023-03-26 13:43:36 Exactly: you're trying to be unambiguous and reach a shared cognitive model. I'm wondering about the formalisation of that in some way.
Duncan Cragg 2023-03-26 13:44:59 What is the common "language of thought", the modelling formalism, between humans and between humans and ChatGPT?
Duncan Cragg 2023-03-26 13:46:26 Very few people have been in the position of being a project, well, not manager, maybe product analyst
Duncan Cragg 2023-03-26 13:48:06 It's opened up a huge unexplored world. Projects just muddle by with good faith and the driver of business value. But Joe Normal wanting a single-use app is a whole new thing
Paul Tarvydas 2023-03-26 15:31:30 “... what are the key concepts for describing the world, our human world? ...”
I would suspect that the key concepts are (1) pointing at something with a finger, (2) gazing at an object with eyeballs and conscious attention.
I suspect that “make that banana green!” would be said as “make that green!”