Python 2 vs. Python 3 (yet again)

Recently Zed Shaw, author of Learn Python the Hard Way, posted The Case Against Python 3 (For Now).

In his diatribe, Shaw shreds Python 3 for being a bad language for beginning programmer to learn.  One section of his post is supposedly written for beginners and another section is aimed at experienced programmers.  There isn’t much of use in the beginner materials outside of claiming that Python 3 has a low adoption rate and that is because the language is defective and broken.  OK then….

In the programmer explanation he goes into a little more detail.  His major complaints are strings are broken in Python 3 and Python 3 is broken because you can’t run Python 3 and Python 2 in the same VM.  Many people involved with Python have voiced opinions that Shaw is wrong.  Some of them, such as Michael Kennedy of the Talk Python To Me podcast, have been somewhat vocal about this.  Kennedy has promised to address this on a future episode.

Shaw really hates to be told that he is wrong so he proceeds to insult people on Twitter if they don’t have enough followers (in Shaw’s opinion) and he decided to write a rebuttal post titled The End Of Coder Influence which is a rant against all the mean people who are apparently taking away all of Shaw’s fun and making technology a bad place for him to work.  He even edited his original post and admitted he was just trolling people.

What this all seems to boil down to is Shaw actually acting like the asshole that he fancies himself to be all because his book was removed as suggested reading on Reddit because it didn’t reflect the current realities in the programming language.  His major comeback is that he has helped “millions” of people learn Python.  Granted his book Learn Python the Hard Way is free on the web, but that doesn’t make his adherence to Python 2 any more reasonable.  He and a number of his followers just need to get through their heads that Python 2 is no longer under development and in three years or so, it will be dead.  Sure, there will be a lot of legacy code that will die or need to be converted and if Shaw is so opposed to Python 3 then maybe he can make a good living converting it legacy Python to Python 3.

The language change has happened.  After teaching beginning programming students at a community college for 6 years, there is absolutely nothing in Python 3 that prevents students from learning.  If they did need to know something in Python 2, they can probably learn the differences in an afternoon.


Leave a Reply

Your email address will not be published. Required fields are marked *