Hacker News new | past | comments | ask | show | jobs | submit
It's more than an implementation detail. With an intermediate step of source code compiling & linking, there is a mechanical process checking for well-formedness that would otherwise be skipped. This is especially important if you're editing a large codebase, which even your agent's private-only repo would benefit from.

There are also times when you want the final product to be able to target different architectures and platforms. Generating into a higher level language allows for re-targeting the code by only changing a few compiler & linker flags or runtime/environment config. I would much rather that than hoping the LLM is feature- (and bug-)compatible between generation runs.

Claude also checks well-formedness - if you give it gibberish instructions, it will respond that it is gibberish and do nothing.

On the other hand, there exist programming languages (like Jot, a certain encoding of combinatory logic) where every binary string is a valid program.