Coding with AI as "literature"?
AI clearly poses the question: do we still need software developers? The ability to write computer code was rare, and now has become abundant. But you still need to design solid software, translate between business processes and technical specifications; and make choices that impact reliability and maintainability.
Around 40 years ago, computer scientist Donald Knuth started considering programs to be works of literature. He described it in a paper in 1992:
Literate programming1
"Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a computer what to do, let us concentrate rather on explaining to human beings what we want a computer to do.
The practitioner of literate programming can be regarded as an essayist, whose main concern is with exposition and excellence of style."
Knuth envisioned writing software as a mix of descriptive text and program code that could be processed to be either human-legible or computer-executable2. Current AI even allows a developer to describe data structures and algorithms, rather than having to write precise program code.
As AI saves time on "writing code", a software developer can spend that time to better understand the challenges and priorities of users and organisations; and to develop solutions with a solid foundation in software design and architecture.
Amidst the hype, let's also heed the warning Knuth gave in that same paper:
Hype?1
"I’ve stumbled across a method of composing programs that excites me very much. In fact, my enthusiasm is so great that I must warn the reader to discount much of what I shall say as the ravings of a fanatic who thinks he has just seen a great light."
It is tempting to do everything differently now, but our current approaches in teaching and practicing software development still hold. Let's take the opportunity to focus more on critical thinking and conversations about what we should build next.
-
Knuth, D.E. (1992) Literate programming. Stanford, Calif.: Center for the Study of Language and Information (CSLI lecture notes, no. 27). ↩↩↩↩↩↩
-
The name he picked for his system took on a different meaning: “I chose the name WEB partly because it was one of the few three-letter words of English that hadn’t already been applied to computers.” ↩↩↩
A few more weeks to 

Over the last weeks, I started exploring
There are clear parallels with 

