I only read the abstract for this paper on 1/16/24 - i read this (though i’m sure not at all thoroughly, back in school)
Writing software has two components:
- The essential work - expressing conceptual systems as a composition of abstract software entities
- The accidental work - rationing computer time, trying to express business requirements in awkward programming languages, a lot of this was early gains in software development history
At this point, the author of this article is making the argument, that all of the remaining work in creating software is intrinsic to creating software.
New technologies will not provide some significant change in the amount of work it takes to create software unless they can attack this fundamental problem. Which the author contends nothing currently know can do. At time of writing in 1986 that is.
The author also provides a list of technologies that will not “magically” make software easier, but can piecemeal start addressing the essential work of writing software
- Use existing solutions instead of writing your own, where possible
- Use rapid prototyping
- Grow software organically
- Advocates for growing new generation of software designers