Hacker News new | ask | show | jobs
by yoz-y 75 days ago
It is not. One version of a compiler on one platform transforms a specific input into an exact and predictable artefact.

A compiler will tell you what is wrong. On top of that the intent is 100% preserved even when it is wrong.

An LLM will transform an arbitrarily vague input into an output. Adding more specification may or may not change the output.

There is a fundamental difference between asking for “make me a server in go that answers with the current time on port 80” and actually writing out the code where you _have to_ make all decisions such as “wait in what format” beforehand. (And using the defaults is also making a decision - because there are defaults)

Compilers have undefined behaviour. UB exists in well defined places.

Even a 100% perfect LLM that never makes mistakes has, by definition, UB everywhere when spec lacks.

1 comments

Right, they allow for the idea of gradual specification - you can write in broad strokes where you don't care about the details, and in fine detail when you do. Whether the LLM followed the spec or not is mostly down to having the right tooling.