> but we don't usually call that "knowing what it will do", unless you can actually predict the state, or in the case of a program, the output. Who is 'we'? And yes, we can predict exactly what the output of a given…
The fact that we can determine what a piece of software will do, doesn't mean we always do that kind of analysis, or that the programmer fully understands his own code. That's why we have type systems, constraints,…
Yup, we can tell what most existing software will do for all inputs. Rice's theorem states that we can't tell what all software will do, not that it's impossible to tell what a given piece of software will do.
It's not that significant. We can tell what the vast majority existing software will do in an automated way. Compiling a program is the equivalent of encoding it's semantics in another language which implies knowing…
We can almost always tell what a given piece of software will do, we just can't tell what all software will do in all cases.
> but we don't usually call that "knowing what it will do", unless you can actually predict the state, or in the case of a program, the output. Who is 'we'? And yes, we can predict exactly what the output of a given…
The fact that we can determine what a piece of software will do, doesn't mean we always do that kind of analysis, or that the programmer fully understands his own code. That's why we have type systems, constraints,…
Yup, we can tell what most existing software will do for all inputs. Rice's theorem states that we can't tell what all software will do, not that it's impossible to tell what a given piece of software will do.
It's not that significant. We can tell what the vast majority existing software will do in an automated way. Compiling a program is the equivalent of encoding it's semantics in another language which implies knowing…
We can almost always tell what a given piece of software will do, we just can't tell what all software will do in all cases.