I love the utility of Python, and though I'm not a professional developer I use it frequently at work for small projects and have done a number of sites using Django. I was sitting down to start putting a plan together to get my son started programming, and went back to "learn Python the Hard Way" to see if that would be a good starting point for him. I've been using Python 3 for my most recent stuff (a Django app at work), and quickly realized "LPTHW" was all still Python 2. Then I looked at his rant arguing that Python 3 was just a dead-end and essentially not worth learning (and this page was updated in November of 2016).<p>I know I'm opening a can of worms, but in pro circles, what is the general consensus on the state of Python these days? Is our dear friend Zed just a cranky outlier, or have I been under a rock and everybody just hates Python 3??
Python made the unfortunate but understandable decision to split the community. It's really hard to make a non-backwards compatible change in an open source community because you can't make anybody move.<p>My $0.02 is that Python 3 is clearly better, and that if you'd use python for something new it should be 3. But I also think it's unfortunate that the community is in the sort of state where people ask this as a legitimate question in 2017.<p>Progress requires python 2 die, but it's taking its sweet time.
If you start a new project now, use Python 3 unless you have a strong specific reason not to. It's the nicer language, and most of the library ecosystem has been ported over by now.<p>The big issue (understandably) are existing projects in Python 2, where porting them means a lot of work that could go into other things instead.