Todd Sundsted

I think one of the strangest things about "application software development" is that an essential skill in the development process consists of taking requirements expressed in human language and manually translating them into cryptic (to most people) programming language syntax.

Of course this isn’t desirable, and we've tried so many things to change that over time: programming languages are themselves abstractions over lower-level machine language, we invented disciplines like CASE (Computer Aided Software Engineering) and methodologies like Shlaer-Mellor to assist with or automate the creation of the source code, we invented categories of products like low-code and no-code tools to change the building blocks themselves. None of that really changed the nature of application software development.

Now, we find ourselves in 2025 contemplating/confronting the literal opportunity/challenge/threat of telling a machine what we want in a human language and having them build the application. The fact that we are here surprises me. That it works at all surprises me.

That the state of the art comes down to “prompt engineering” and trying to jury-rig business requirements to satisfy an LLM does seem a little weird though.