[Sven R. Kunze <srkunze@mail.de>]
... He already convinced some people. Just not some venerable Python devs, which>> doesn't necessarily mean something at all.
Their response: "Oh, I don't need it, let's close it." Arek: "But I need it."
So, who's right now?
[Tim]
By default, the venerable Python devs ;-)
[Sven]
Well, little bit arrogant? I hope technical arguments weigh more than status here. ;)
I haven't seen any technical arguments here. You snipped the parts of my reply where I emphasized the need for concrete use cases. In the absence of anything approaching that, it's a matter of taste, and then - yes - decades of Python development experience do - and should - outweigh a newcomer's wish list. Especially when, as appears to be the case here, those with truly extensive experience agree.
... But I remember using it in interactive sessions (damn, why didn't I check that into git?). And there I remember finding it quite irritating not having a return value at all.
random.shuffle([1,2,3,4])
Just gives me: nothing.
Of course, the period of irritation lasted short and reading __doc__ helped a lot, but, well, I could have saved me some time. You get the idea.
No, I don't. It's an obvious feature of Python's list object design that mutating methods always return None. Which means "obvious" after someone has learned the language, not obvious the first time they try it. StackOverflow is equally full of newbie complaints that, e.g., some_list.sort().append(100) gives an "incomprehensible" AttributeError: 'NoneType' object has no attribute 'append' error. Once "ah, mutating methods generally return None" sinks in, they never post any complaint like that again. I would be far more annoyed if, e.g.,
random.shuffle(some_million_element_list)
swamped my terminal with mountains of output. You can't both behaviors simultaneously, so the status quo wins. Indeed, the venerable status quo ;-)