4 ms·
Some time technical debt needs to be eliminated. Keep backward compatability would have meant keeping technical debt. Breaking changes are fine.
by winddude 6y ago
Some time technical debt needs to be eliminated. Keep backward compatability would have meant keeping technical debt. Breaking changes are fine.
- TylerE 6y agoThe core problem is they didn't break ENOUGH. Thus Python3 failed (and frequently, continues to fail) to be a compelling upgrade to anyone but unicode purity fetishists.
- reedwolf 6y ago>>Thus Python3 failed (and frequently, continues to fail) to be a compelling upgrade to anyone but unicode purity fetishists Huh? No new project of any note is using 2. Everyone has either upgraded to 3 or never even learned 2 to begin with.
- TylerE 6y agoIncorrect. There is tons of Python2 code being maintained, added to, and working diligently in production.
- kamyarg 6y agoI am not a "unicode purity fetishists" and python 3 has been a compelling upgrade for me for the past 3 years. I have not written single line of python 2 code since 2 years ago. So your statement that it is not compelling for anyone is wrong. Maybe some people are python 2 fetishists? I have upgraded multiple python 2 codebases to 3 and I am not understanding what people are whining about, it is not rocket science. This is something people are getting paid to do; maintain their codebase and keep it up-to-date.
- nuclear_eclipse 6y agoBecause no one could ever be justified in moving to Python 3 for AsyncIO, f-strings, ordered dictionaries, assignment expressions, pathlib, new features in shutil/tempfile/subprocess/etc, along with massive improvements to memory consumption, runtime performance, and overall stablility?
- ridiculous_fish 6y agoWas there something about the design of Python2 that would have prevented these features? Honest question.
- mixmastamyk 6y agoProbably not, but I’m still glad they did clean up. They could have done more.
- TylerE 6y agoUntil 3.8 py3 was slower than py2 in practically all benchmarks, and 3.8 is a marginal improvement at best. So I’m slapping a massive <citation needed> on your “massive” performance improvements
- nuclear_eclipse 6y agoWe switched a service from 2.7 to 3.5 and saw an immediate 45% reduction in memory usage and 20% reduction in runtime. That's massive IMO. We saw further (but smaller) performances benefits upgrading to 3.6, again when upgrading to 3.7, and expect to see even more with 3.8. https://youtu.be/0kXaLh8Fz3k?t=322 https://youtu.be/0kXaLh8Fz3k?t=322
- mark-r 6y agoPeople can and have been fine without those things for a long time. Many of them could have been added to Python2 without any trouble. And yet we still have a GIL.