Re: Semi-Automated Programming

Craig Presson (dhr@iname.com)
Wed, 14 Jan 1998 08:32:52 -6


On 14 Jan 98 at 6:10, David A Musick wrote:
> What I was thinking would be a high priority for software development
> companies is a form of semi-automated programming software.
> Basically, this would be a very high-level programming language which
> could help the programmer do in little time what previously took hours
> of coding.
[...]

You've just re-invented a major research subject in computer science.
When I was at MIT, carrying my slide rule made of a Brontosaurus
thighbone, I knew people on the Automatic Programming Project within
Project MAC. They were working on compilers :-)

Some current VHLLs are almost magical (in the Clarkian sense) compared
to the state of the art a few years ago. The software developers using
them are still by and large running as fast as they can to keep up.
Reasons:

1. Good new applications have a tendency to breed more demand from the
user community.

2. In applications programming, coding time is no longer the schedule
driver, if it ever was. Maintenance and rework, from faulty processes
and from incomplete and shifting user requirements, are a much larger
drain.

Within the field, only a relatively small percentage of software people
are working on new product development, while many labor away at data
processing chores that do not contribute anything new. I don't see this
changing either, until our machines have enough intelligence to start
taking over this kind of development (how much intelligence does
"Add/Change/Inquire/Delete" take, anyway? :-). Too much of this work is
still being done by people who could be doing more innovative stuff,
but there is a lot of uptake of "non-technical" people to do HTML,
end-user database development, and so on. This is not without a
downside. My former boss at MTI, a small Boston-area consultancy and
software shop, used to say, "If you make programming easy enough that
non-programmers can do it, the trouble is, they WILL."

So, on the whole, the process you envision is happening, in an
evolutionary way so far. There will be a software singularity, though,
and I can see it being the leading edge of The Singularity. When AI
software design agents work 24x7 on GHz machines and continually
replicate and refine themselves, revolution will oustrip evolution in
software development. (If I believe that, why am I not working on AI?
Good damned question.)

It was good to see you didn't fall into the common media misnomer of
conflating semi-automatic program generators (where you have to press
enter for each new program) with automatic program generators (where
new programs are fired off at a high rate as long as the key is held
down).

Ad Astra,

-- dhr@iname.com (Freeman Craig Presson)