You still have to tell the IDE what to do with your code, which you do with brackets, I guess?
So now your code is full of brackets and parentheses, which are naturally less readable (how many levels of parentheses do you use in natural language?), and their role is almost entirely to... help the IDE indent your code.
People, even before computers, invented several different types of formal logic notation just so that they'd have a language that was better suited to these sorts of puzzles. I don't think that code is a good approximation of natural language, nor do I think that it should try to be. Natural language is very poorly suited to expressing layers of abstraction, and even basic logical relationships.
Of course it's easier to write programs that resemble natural language, just as it's also easier to speak than it is to write Vx[Yx->...etc...] but that doesn't mean it's the best way to look at a problem.
#
But that's a bit besides the point. You can do it however you like, even with whitespace if that's your preference. The key is that the IDE has to be aware of the meaning of your code. Python's solution to that is to assert by fiat that the white space should be a syntactically meaningful unit in this sense, but it could be anything.
If you have the information there, then people can look at it and write it however they please.
2 or 3 (but I write mostly lisp (as a programming language) and I usually mumble them (the natural languages)..).
(seriously.)
edit : screw commas, let's go nuts with parentheses.
Not particularly, no. Or at least I think that should be the IDE's problem.