Asyncio is the most important feature of 3.5+ imo. I'm not sure why this is buried at #8.
The new async features are kind of a mess. Many Python users just don't have the use case to make it worth digging in to it.
New features you can't use unless you are in Python 3
81–90 of 264 posts
Re: New features you can't use unless you are in Python 3
#82I'm impressed how much Python seems stuck on older versions. What went wrong?
It wasn't broke and they fixed it. Python 2 is a mature language with a robust ecosystem. Those just don't go away no matter how much developers nag people to upgrade.
Re: New features you can't use unless you are in Python 3
#83Earlier quoted context omitted.
Because after nearly 10 years this mediocre list is the best they can offer as consolidation for breaking your code, and for much of that time they didn't have everything it does now. If py3k shipped with something like https://gregoryszorc.com/blog/2017/03/13/from-__past__-impor... there probably would have been more uptake.
This piece barely scratches the surface, there's formatted string literals, type checking available, and compact ordered dicts by default in the latest. All awesomeness. I'm glad they did the "mediocre" fixes as well, they lead to a lot fewer encoding (and other) bugs, which were a real problem on nontrivial programs.
I didn't like how the changes to strings and bytes were made, but that's probably a larger discussion, and fits within how Py3 has evolved. If anyone is really confused by the struggle with adoption, just look through the release notes of version by version, and ask at what point there's a compelling reason to upgrade. I still don't see one, but at this point, nearly 10 years after Py3k, Py3.6 is finally usable enough that I wouldn't mind as much if I had to work on a Py3.6 codebase instead of a Py2.7 one.
Re: New features you can't use unless you are in Python 3
#84Earlier quoted context omitted.
Because after nearly 10 years this mediocre list is the best they can offer as consolidation for breaking your code, and for much of that time they didn't have everything it does now. If py3k shipped with something like https://gregoryszorc.com/blog/2017/03/13/from-__past__-impor... there probably would have been more uptake.
This piece barely scratches the surface, there's formatted string literals, type checking available, and compact ordered dicts by default in the latest. All awesomeness. I'm glad they did the "mediocre" fixes as well, they lead to a lot fewer encoding (and other) bugs, which were a real problem on nontrivial programs.
Re: New features you can't use unless you are in Python 3
#85Does anyone use 2.x by choice? I've only seen it required as to not break legacy code.
Yes. My reason is that I simply don't really care that much. It's the default on all my systems, so why bother putting in the effort to use something that doesn't appear to offer much advantage to me personally? I use python for my personal research, so my particularly situation affords me this laziness. edit: I don't mean this as a knock on py3. All I'm saying is that my situation and uses for python allow me to be…
Re: New features you can't use unless you are in Python 3
#86Thanks for helping me solve my bug dude!
Re: New features you can't use unless you are in Python 3
#87Does anyone use 2.x by choice? I've only seen it required as to not break legacy code.
Re: New features you can't use unless you are in Python 3
#88TL;DR: The important stuff that makes a good case for Python 3: - Adittion of "yield from" allows easier programming with async I/O "a la " Node.js (using 'await') - Standarized annotations of function arguments and return values can help in the future for type checking, optimization, etc. Even more important stuff - Unicode can be used in symbols. You can now use Kanji characters in your function names, to annoy you…
Re: New features you can't use unless you are in Python 3
#89Does anyone use 2.x by choice? I've only seen it required as to not break legacy code.
Re: New features you can't use unless you are in Python 3
#90Does anyone use 2.x by choice? I've only seen it required as to not break legacy code.
Most people who use a language are actually working on code that existed before yesterday. I work on a codebase that was written in python 2, and when we looked at the cost of upgrading it to python 3 versus adding new features, it was a no brainer. I have no desire to switch to python 3, nor do I anticipate ever doing so, at least for the projects I'm working on now. If you are maintaining a large or important codeb…
This is just silly. It will take at least 100x more effort to rewrite the project in Java than it would to upgrade to Python 3.
> at least the java community doesn't force developers to rewrite their source code when a new JVM comes out
Yes, that was an unfortunate, one-time thing for Python that happened almost a decade ago.
> My employer is mostly a java shop ... and their retort is that [python is] not really enterprise ready
Yep. That sounds like the kind of nonsense people say in a Java shop.