5 ms·
It is solvable by making the hard decision to move to Python 4 with no backward compatibility. The two core issues imo in Python are the GIL and the environment
by PossiblyKyle 3y ago
It is solvable by making the hard decision to move to Python 4 with no backward compatibility. The two core issues imo in Python are the GIL and the environment hell and both simply can’t be solved while still keeping the 3 moniker. We’re in a field of constant workarounds and duct tape because we try pleasing too much
- rolisz 3y agoMoving from 2 to 3 was a long and difficult migration, so 3 to 4 will be similarly difficult
- fmajid 3y agoI’ve been using Python since 1994 and my 2-to-3 migration plan was Go…
- jug6ernaut 3y agoThe account of time and money ppl put into building and maintaining systems built with scripting languages has never made sense to me.
- dev_tty01 3y agoSeems a bit conclusory. Doesn't this imply the community is incapable of learning from experience?
- brazzy 3y agoNot going to happen for another 10 years at least. Not after how long and painful the move to Python 3 was.
- bbkane 3y agoPython tried that (version 2 to 3) and both the community and dev team were traumatized by the effects enough they've publicly said it'll never happen again. Some things really are too big to change.
- deleted 3y ago[deleted]
- ilyt 3y agoslap "use v4" at start of the file to use new semantics and use it automatically for .py4 Then transpile Py3 code into Py4.
- BiteCode_dev 3y agoTranspilation won't work with semantics. And it won't change anything about c extensions.
- imtringued 3y agoThat means they didn't learn from it at all. The problem with Python 2 to python 3 is that it lost backwards compatibility because of very silly reasons like turning the print statement into a function. The vast majority of the problems could have been avoided by not making pointless changes with dubious benefits.
- gcbirzan 3y agoI seriously doubt anyone had problems fixing print as a statement. 2to3 fixed it... I'll admit that, yes, changing string to bytes and unicode to string was a bit annoying, but the change itself wasn't fundamentally 'of dubious benefit', it did have benefits, and related to this, the only major issue was that you couldn't, for a long time, have code that worked in both where it came to literals. The biggest problem here was the implicit conversion from 2, that I agree needed to go. Most of the other things can be trivially fixed automatically, or at least detected automatically, but without type hinting, it wasn't really easy to fix the automatic conversion. There were other changes that were a bit tricky, but the majority of issues stemmed from the str/bytes change.