Maybe in the simplest case. But compilers themselves often aren't even deterministic! Compiling the same code twice can produce different results depending on things like which thread finished first, how maps are initialized and iterated over, how heuristics are applied, how identifiers are generated, etc. Hence why reproducible builds are an industry concern.
You could say that all those things are ultimately dependent on an input and given the same input will always finish with the same result. And that would be a fair assertion. But once you start thinking that way then even LLMs are 100% deterministic. Fundamentally, computers can only operate deterministically. We only sometimes think of them as being non-deterministic because we are willing to ignore some inputs.
9rx|22 days ago
You could say that all those things are ultimately dependent on an input and given the same input will always finish with the same result. And that would be a fair assertion. But once you start thinking that way then even LLMs are 100% deterministic. Fundamentally, computers can only operate deterministically. We only sometimes think of them as being non-deterministic because we are willing to ignore some inputs.