upvote
I'd also like to add that, since immediate-operand instructions exist, constants are absolutely not the same as variables at the machine level, since immediates will never be stored in a register (typically, e.g. "move immediate" will obviously store it in one, and I'm sure there are architectures that use an internal/hidden register that's populated during instruction decode).

Also, in Harvard-architecture systems, the constants, being part of the instruction itself, might not even be in the same memory or even address space as variables ([EEP]ROM/Flash vs RAM).

reply
To a programmer, it's all just memory. Too many people forget that and chase castles in the sky.
reply
The problem is that the same word is used for different things.

The comment you are responding to was correct in what "property" means in some settings.

The article itself says:

> A property is a universally quantified computation that must hold for all possible inputs.

But, as you say,

> but as those terms were adopted into less-than-academic contexts, the meanings have diluted.

And, in fact, this meaning has been diluted. And is simply wrong from the perspective of what it originally meant in math.

You are right that a CPU register is a property of the CPU. But the mathematical term for what the article is discussing is invariant, not property.

Feel free to call invariants properties; idgaf. But don't shit all over somebody by claiming to have the intellectual high ground, because there's always a higher ground. And... you're not standing on it.

reply