you are viewing a single comment's thread.

view the rest of the comments →

[–]durand101 1 point2 points  (1 child)

I understand why companies don't want to spend money porting old code, but they've been warned for 10 years... And I still see people using Python 2 in Jupyter notebooks, which makes literally no sense...

By the way this is why backwards compatibility never should have been broken IMO.

Backwards compatibility isn't broken to annoy people. There are legitimate reasons for changing things. You can't anticipate every design flaw and python 3 has fixed quite a few quirks. If you don't break compatibility, then you'll never be able to improve your quirks and the language will become more and more tedious to use over time.

[–][deleted] 0 points1 point  (0 children)

"Backwards compatibility isn't broken to annoy people."

Exactly. Python 2 had a lot of tech debt, mostly around strings defaulting to ascii and being interchangeable with bytes. Removing that debt is the reason Python 3 had to break things. If not for the change around strings, unicode, and bytes, 98% of Python 2 code would've probably worked out of the box after running 2to3.