4 ms·
I think you're mischaracterizing the parent's post. Python 3 is slower, offers no compelling features, and uses a string storage model that he doesn't agree wit
by srj 11y ago
I think you're mischaracterizing the parent's post. Python 3 is slower, offers no compelling features, and uses a string storage model that he doesn't agree with. That criticism does not mean that he or she desires "the language frozen in time".
The real feature needed is to eliminate the GIL. That would be worth breaking compatibility over.
- ubernostrum 11y agoPython 3 is slower, offers no compelling features Python 3.0 was slower than 2.7 due to several key bits being implemented in pure Python in 3.0. Since the 3.0 release (remember, Python's on 3.5 now) things that needed it have been rewritten in C, and as of Python 3.3 the speed difference is one. Also, on Python 3.3+ strings use anywhere from one-half to one-fourth the memory they used to. As for "no compelling features", well... * New, better-organized standard library modules for quite a few things including networking * Extended iterable unpacking * concurrent.futures * Improved generators and coroutines with 'yield from' * asyncio and async/await support in the language itself * The matrix-multiplication operator supported at the language level (kinda important for all the math/science stacks using Python) * Exception chaining and 'raise from' * The simplified, Python-accessible rewritten import system etc., etc., etc.
- camgunz 11y agoI'm 100% not picking on you but, I started programming in Python around 2004. When Py3k came out, I had exactly zero of these gripes. Not once did I ever say, "I wish urlsplit were in urllib.parse instead of urllib", or anywhere else. I had no problems with iterables, the async stuff (honestly with the GIL, why does any of that matter), exceptions or imports. I recognize that some users of Python did, library/framework devs, etc. But Py3k is a huge, incompatible, and confusing change for 90% of Python devs, and the benefits are things they didn't, and still don't care about. It was honestly just a bad decision.
- ubernostrum 11y agofor 90% of Python devs Given how many people and projects suddenly said "yeah, actually, we want to be on Python 3 now" after seeing the new stuff in 3.4 and 3.5, I think you're overestimating the number of people who don't care about these features.
- camgunz 11y agoI take your point, but I have a few counterarguments: 1. Python 3.4 was released 7 years after 3.0. That's a very long time. 2. Assuming you're referring to the async features (none of the other stuff is really momentous), I can understand that for framework devs. It's really not a big deal for most users though, and because of the GIL, it's not as if they'll suddenly reap the benefits of parallelism. All it really means is nicer algorithm expressions and event loops. 3. There's no technical reason the new stuff couldn't have been added to Python 2. The roadblocks are manpower and politics. 4. Even if we stipulate async/await/asyncio are huge, busted Unicode support, 7 years of development, and breaking compatibility with everything is just a terrible tradeoff. There's just no way this was a good idea, and Python devs could earn a lot of credibility back if they just said "oops". But there's no chance of that.