Spaces help in separating and therefore parsing the code. Where does a token end, and where does another one start?
In Pavels example:
int decision=calculate(x*2,5,a) || (y*3<100);
there is an ambiguity between european number formatting, which leads me to think for a very short time about
calculate (x * 2,5, a)
calculate (x * 2.5, a)
of course just for the fraction of a second, but many short annoyances and distractions will make you tired after hours. If it is intermixed with output, where you write
print ("calculate (x * 2, 5, a)")
and have to avoid ambiguity, which isn't in the expression from the programming languages perspective, you don't wan't to use different standards there.
You might have an editor, which highlights the commas, the ciphers and the variable name in different colors, but when posting it here or in email, the highlightening might get lost/will be lost.
I'm not sure how editors decide, what to mark for copy actions if you double click or triple click on an expression. Blanks could be helpful for reasonable decisions there.