Hacker News new | ask | show | jobs
by torben-friis 4 days ago
>you take a spec and create tests, every little thing

A spec detailed enough and unambiguous enough to be translated into machine execution deterministically is called code.

Unlike a compiler, AI can build with a spec that is not detailed enough or unambiguous enough: It does so by filling in the gaps with educated guesses.

This is safe if and only if you take the time to later read the output, understand what its guesses were, and judge wether they were acceptable. No AI can do this for you because the truth lies in your original intentions, which it does not have access to.

The jury is out there on how reliable and time consuming this is vs writing the code yourself; it is not immediately obvious that is faster or requires a smaller cognitive load.

1 comments

Code is not a spec. It's an instruction set. It can be a spec if you try hard but that's not an inherent property of code. For example you can write code to be a compiler..that makes it a spec. But hello world is not a spec.

As for whether or not LLMs can write unit tests. The answer is yes.

Hello world is a spec. The spec says to produce the text hello world on standard output.
Try running it without a compatible ABI. See how far you get.
Not sure what the point is. We can update the spec with "in the presence of a compatible ABI".
All I'm saying is a program isn't VHS. It's a VHS tape. At that point it's largely philosophy. Can you reconstruct a VHS format from a VHS tape? Sure.
For non trivial uses it wouldn't be a great spec. But I think we can bring our worlds together with a bit of boilerplate.

> The system shall have behavior identical to that expressed by the system created by the following source code. [add some stuff about environment to taste]