Earlier quoted context omitted.
Programming is about writing some code that does useful work. Okay? When you argue that programming is something else, you're doing just that: redefining. Because from the first days programming meant building computational devices or programming programmable devices. And those have changing state, and then they have machine code, which mutates state. It's how it always was and now some people want to redefine it but…
Turing machines have mutable state. The lambda calculus does not. Yet any algorithm which can be expressed by one can also be expressed by the other. We have proof that state is merely an implementation detail, which happens to be widespread in today's hardware because we figured out how to implement it at scale. Programmers need to understand the difference between the abstract algorithm they're trying to express an…
And yesterday's hadware
And the day before that
And pretty long time, frankly - do you see a pattern here? And it does have its deep reasons.
Programming is not about algorithms. It's about making inanimate matter behave. CS might be about algorithms, but CS is not programming.