posted in Technology
Torvalds: AI Is the New Compiler, Not the New Programmer
pbxscience.com/torvalds-ai-is-the-new-compiler-not-the-new-programmer/posted in Technology
Torvalds: AI Is the New Compiler, Not the New Programmer
pbxscience.com/torvalds-ai-is-the-new-compiler-not-the-new-programmer/Never seen a non-deterministic compiler though
C/C++ compilers are non deterministic due to support of super macros that change run to run, non-deterministic optimisation strategies or ordering due to parallelism, and linkers often produce different outputs every time they are run where subtle bugs can cause crashes when addresses don’t line up how you expect. And that’s without mentioning projects that use a configuration step.
It’s actually a big problem in producing reproducible builds for security.
I’m not very good with C/C++ so please correct me, isn’t that what’s called a “race condition”? Parallelism can cause non-determinism but not in the same sense LLMs generate non-deterministic output. Compilers are not statistical machines.
From my understanding, which is very limited, race conditions are more an issue with concurrent programming. Parallel computing uses separate processor cores for each task so there’s less reliance on stack machines. But I guess each core still shares the memory, so maybe it still happens. Like I said, my understanding is limited. Just use rust.