Very interesting take on immutable variables in functional programing, especially his reason about how tail recursion optimization necessitate mutable variable.
because in ur way of interpretation, the entire digital computer, memory, registers, are mutable variables.
more specifically, ur reasoning of tail recursion optimization is tricky. The concept of TAIL CALL, is due the compiler writers trying to save memory. Nothing to do with the coder writing the recursive function, and no effect on the input and output of the function. The coder could optimize tail recursion, by opt to not use recursion algo at all and remain pure.
if, it is a given, that the debate of the merit of mutable-variable is in the context of compiler writers, on intel x86 hardware, then, functional programing basically have no merit.
But, if we change the hardware to say gpu, then mutable var losses all merits.
This guy, Bob Martin, is one of the founder of Extreme Programing and Agile.
This is the first time i see him or his article.
Don't know anything about him, but i think extreme programing and agile are the greatest scam of computer industry in past 20 years.