← Back to context

Comment by littlestymaar

2 months ago

> let humans think in the way they're used to thinking: in natural language

Writing a program means stating unambiguously what you want, but natural language is ambiguous which is why legalese exists.

So you need to have an unambiguous source language for what's end up being executed by your machine (which is what programming languages are), otherwise you have no way of knowing if the machine does what you want it to do.

Of course you can use an LLM to translate natural language to unambiguous language, but at the end of the day you must read the generated language because that's the only way to dispel the fundamental ambiguity of the natural language.

I saw a webcomic ten years ago where a project manager discussing the future automation of programmer's jobs:

PM: “In the future, there will be no developers, just project manager. We will just give the machines very complete and precise specifications and it will make the software on its own. Without needing you”.

Dev: “You know how we call a "very complete and precise specification"? It's called code”.