
May 31, 2022
7:13 a.m.
Thanks for your response. While legacy production code is always an issue with potentially breaking changes, this line of thought would mean that future versions of Python could never introduce breaking changes. This should not be the case and is not the case now: for new Python versions, developers are expected to test and check for breaking changes, not just update production environments to a new version and hope for the best. The fact that this would throw an error instead of the expected empty list should then quickly lead to the right solution, whereas the other way around, when you expect an error but get an empty list, is hard to debug. That is a tradeoff with a clear winner in my opinion.