News for hackers. Stuff that matters.
Re:A sufficiently detailed spec is code by kikkupico on Thursday March 19, 2026 @02:02AM (#47435511)
Natural language is fluid and ambiguous while code is rigid and deterministic. Spec-driven development appears to be the best of both worlds. But really, it is the worst of both. LLMs are language models - their breakthrough capability is handling natural language. Code is meant to be unambiguous and deterministic. A spec is neither fluid nor deterministic.
Re:A sufficiently detailed spec is code by derrak on Thursday March 19, 2026 @02:41PM (#47443928)
> code is rigid and deterministic

I really wish people would start defining what they mean when they say code is deterministic. For instance, code is not deterministic in the sense that it admits a single interpretation when compiled. C code admits many assembly interpretations and the assembly you get will vary depending on your compiler and parameters.

When people say code is deterministic I think they mean it has a formal semantics. But these formal semantics may admit any one of many interpretations.

Re:A sufficiently detailed spec is code by kikkupico on Thursday March 19, 2026 @04:40PM (#47445726)
> C code admits many assembly interpretations and the assembly you get will vary depending on your compiler and parameters.

There's your own example defining how code is deterministic. Despite being compiled to different assembly interpretations, the code does the same thing.

Re:A sufficiently detailed spec is code by derrak on Friday March 20, 2026 @01:32PM (#47457854)
All compilations do what I intended to do when I wrote the C code. But each compilation does the intended thing in a different way.

The point I’m making is that determinism isn’t the key difference between compilers and LLMs. The key difference is that LLMs do not give semantic guarantees. I don’t care if they give the same output on the same input, just as I don’t care very much which C compiler I use.

Re:A sufficiently detailed spec is code by kikkupico on Saturday March 21, 2026 @01:39AM (#47464301)
> The point I’m making is that determinism isn’t the key difference between compilers and LLMs

I think you misunderstood. Determinism is the the difference between natural language and code. It's not about LLMs vs compilers.

Re:A sufficiently detailed spec is code by derrak on Saturday March 21, 2026 @12:15PM (#47468355)
In my mind the most salient difference between code and natural language is that code has a formal semantics.

I’m still not entirely sure what people mean when they call a formal/natural language deterministic. As we’ve discussed, it can’t possibly mean that it has a single valid interpretation, since this is untrue of C code. If it means that code has a _precise set_ of interpretations, then I wouldn’t use the word deterministic for that.