On 25-03-14 12:12, Chris Angelico wrote:
> On Tue, Mar 25, 2014 at 9:24 PM, Antoon Pardon
> <[email protected]> wrote:
>> No they didn't have to. With the transition to python3, the developers
>> could have opted for empty braces to mean an empty set. And if they
>> wanted a literal for an empty dictionary, they might have chosen {:}.
>> Backward-compatibility was already broken so that wasn't an argument.
> Python 3.0 didn't just say "to Hades with backward compatibility". The
> breakage was only in places where it was deemed worthwhile. Changing
> the meaning of {} would have only small benefit and would potentially
> break a LOT of programs, so the devs were right to not do it.
More programs than those who broke because print was now a function?
Do you think it would have been so problamatic that it couldn't have
been handled by '2to3'?
Maybe breaking backward-compatibility wasn't considered worthwhile,
but that is not the same as stating backward-compatibility was
necessary. And that is how I understood how you stated your claim.
> Python 3 and Python 2 are not, contrary to some people's opinions,
> completely different languages.
And changing the meaning of {} to now indicate the emppty set, wouldn't
have turned it in a completely different language either.
--
Antoon Pardon.
--
https://mail.python.org/mailman/listinfo/python-list