(Move to COFF)
On 22 Jan 2023, at 05:43, Luther Johnson
<luther(a)makerlisp.com> wrote:
Yes, I know, but some of that SW development is being automated ... I'm not saying
it will totally go away, but the numbers will become smaller, and the number of people who
know how to do it will become smaller, and the quality will continue to deteriorate. The
number of people who can detect quality problems before the failures they cause, will also
get smaller. Not extinct, but endangered, and we are all endangered by the quality
problems.
Is it possible that this concern mirrors that of skilled programmers seeing the
introduction of high-level languages?
I’ve played with ChatGPT, and the first 10 minutes were a bit confronting. But the
remainder of the hour or so I played overcame my initial concerns.
It’s amazing what can be done, especially with Javascript or Python, when you ask for
something that’s fairly simple to define, and in a common application area. You can get
reasonable code, refine it, ask for an altered approach, etc. It’s probably quicker than
writing it yourself, especially if you’re not intimately familiar with the library being
used (or even the language).
But … it pretty quickly becomes clear that there’s no semantic understanding of what’s
being done behind it. And unless you specify what you want in pretty minute detail, the
output is unlikely to be what you want. And, as always, going from a roughed-out
implementation of the core functionality to a production-ready program is a lot of work.
In the end, it’s like having an intern with a bit of experience, Stack Overflow, and a
decent aptitude driving the keyboard: you still have to break down the spec into small,
detailed chunks, and while sometimes they come back with the right thing, more often, you
need to walk through it line by line to correct the little mistakes.
I’m looking forward to seeing a generative model combined with static analysis,
incremental compilation, unit test output: I think it will be possible for a good
programmer to multiply their productivity by a few times (maybe even 10x, but I don’t see
100x). There’ll still be times when it’s simpler to just write the code yourself, rather
than trying to rephrase the request.
All of which makes me think of the assembly language to high-level language transition
...
d