5 ms·
> As a thought experiment for the reader: consider a complex system you've worked on. And now try to imagine writing down a specification for the system in natu
by crabmusket 3y ago
> As a thought experiment for the reader: consider a complex system you've worked on. And now try to imagine writing down a specification for the system in natural language that an LLM could use to generate the code that powers the system.
But you didn't write it down, so how did the system get made?
The answer is that the program exists in your head as much as it exists in bytes in your source files. There might be a mismatch between your head-program and the source-program, or between your head-program and what the customer actually wants.
But the existence of the head-program is what Naur was articulating in 1985's "Programming as Theory-Building", and is what LLM proponents are rediscovering.
- 4death4 3y ago> But you didn't write it down, so how did the system get made? We didn't write it down, but we did use natural language to specify it, albeit somewhat indirectly. Some of the specification came from meetings with leadership, PMs, other people in the org, customers, etc. Some of it came from getting drinks with the team and talking about what we wanted to build. Some of it came from conversations with ex-colleagues. Some was inspired by past experience. It was be extremely onerous to put all of that down as input to an LLM.
- crabmusket 3y agoExactly my point! What you were doing was theory-building, creating a mostly-shared mental understanding of the program.
- 4death4 3y agoAh, ok. I see. I originally interpreted your comment as “there was some natural language spec, therefore you could feed it into an LLM” but I see I was mistaken.
- crabmusket 3y agoI highly recommend the Naur paper, I think it is a pretty accurate view of the dynamics of software production.