a) comma has already defined meaning so it could be ambiguous - it would mean tuple (2,333) in python for example
b) even if its not the case, its easy to confuse it with floats, and you do not want apply local numerical conventions to code and discover one day that all your ints are floats because some setting was different
c) you can write it as 2_333 in growing number of languages
On the other hand, what improvement does this bring? ... "it is supposed to look pretty."
What are its parameters?
f (3,456 789)
or f(3 456,789)
or f(3,456,789)
depending on intent. I mean the requirement of a common as a separator seems superfluous -- particularly in languages like Python which rely heavily on semantic whitespace.Anyway, baked into the question is the idea of localization (comma or dot) and under the computing language as a means of using (rather than programming) a computer, that makes perfect sense under modern practice. Even my phone does it.
I'm not expecting Python to change its function call syntax, and if I were able to change one thing on that scale it would be C's null terminated strings (in a New York minute). On the other hand, breaking changes to Python are not without precedent.
They took a backward compatible approach by using a symbol that's not already used for other operations, like "," or "." or ";" The grammar would be non-trivial or too restricted otherwise, IMO.
3,400,000,000 3400000000 =
9,312 9312 =
4,294,967,296 4294967296 =
It's pretty useful for writing large numbers.1_000_000