Remix.run Logo
cautiouscat a day ago

> Have you looked at the machine instructions your compiler produces?

> No? Why?

> Because software languages are a pretty good abstraction.

No, it’s because compilers produce deterministic output. I am so tired of this argument.

If I’m not concerned with the performance of my code, I can be 100% confident that that exact code will produce the correct assembly every time. That’s why I don’t read it. Not because I don’t care.

bluegatty a day ago | parent [-]

No - perfect determinism is absolutely not required.

It's entirely the nature of the abstraction.

You want it to work as expected, it does not have to produce the same thing each time.

bigstrat2003 21 hours ago | parent [-]

No, determinism is actually required. If compilers changed between producing decent assembly and crap assembly from run to run, we would be reading the generated assembly every single time.

meowkit 17 hours ago | parent [-]

Yall modern compilers do not produce the same thing every time. Compilers have had decades to get really good at what they do. LLMs have been functional for maybe 3 years?

Source: I work on an operating system.