4 ms·
I don't understand what the big deal is. If you learn Python 2, you're 95% of the way to Python 3. Honestly, this is like arguing over spaces and tabs. It gets
by JustSomeNobody 9y ago
I don't understand what the big deal is. If you learn Python 2, you're 95% of the way to Python 3. Honestly, this is like arguing over spaces and tabs. It gets old.
- PeterMikhailov 9y agoDepending on your opinion, p3 solves Unicode issues.
- JustSomeNobody 9y ago> Welcome to Google's Python Class -- this is a free class for people with a little bit of programming experience who want to learn Python. Python 2 still comes pre-installed on most everything. So, why can't someone coming to Python with little or no experience just be welcomed to use what they have for now? I kid you not, some of these Python3'ers would have a newb bike shed for a week getting a whole Python 3 workflow with virtual environments, etc going before they'd let the person write their first hello, world. They can learn that stuff later, when it matters.
- fermienrico 9y ago>> So, why can't someone coming to Python with little or no experience just be welcomed to use what they have for now? So, why can't someone coming to Python with little or no experience just install the latest version? Just shedding some light on both sides of the argument. I'd prefer people starting out use the latest version because it is not hard to install Python 3 and takes very little effort.
- ehsankia 9y agoYou're not really countering what he said by naming something in the 5%. Yes, there's slightly different string behavior when working with unicode, most things return iterators instead of lists, and print is now a function. Going from knowing Python 2 to 3 is far easier than going from not knowing Python or programming at all to knowing Python 3.
- sametmax 9y agoIt is not though. Python 3 is wayyyy easier to teach. And i should know since it's my job.
- mbreese 9y agoGot a couple of quick examples where Python 3 is easier? Is it that it is more consistent in places?
- devy 9y agoUnicode handling. Python2's implementation on that is broken.
- mynewtb 9y agoString handling that makes sense No more long type Division that works as expected Annotations No more xrange, iteritems etc, instead you get iterators everywhere f-strings
- squeaky-clean 9y agoI think my personal favorite is exception chaining. Makes it so much easier to debug issues, especially for newbies.
- gdwatson 9y agoI'm a Python 3 fan, but I didn't expect that. Could you explain why?
- sametmax 9y agoIt's the aggregate of so many little things. Less duplicates (xrange vs range, itemview/iteritems/items(), map/itertols.map,). Entering french in comments will not crash the program even if you didn't give "the unicode talk". Clear type for raw bytes with a proper name. Way less verbose (no __future__, no u, no object, no codecs import, f-strings, simple super(), etc) Debugging is easier (debug messages are better, exception chaining, division makes sense, repr is clearer) You can't shoot yourself in the foot as much (ordering "1" and 1, assigning to True ...) Less stuff to learn (e.g: pathlib instead of os/shutils/glob/codecs) And that's just out of my head.