On Thu, Feb 18, 2016 at 7:40 PM, Terry Reedy <tjre...@udel.edu> wrote: > To my mind, the numerous duplications and overlaps in 2.7 that are gone in > 3.x make 2.7 the worse version ever for beginners.
Hmm. I was teaching on 2.7 up until last year, and for the most part, we taught a "compatible with Py3" subset of the language, without any significant cost. If you'd shown code saying "except ValueError, e:" to one of my Py2 students then, s/he would have been just as unfamiliar as one of my Py3 students would be today. That said, though, it's still that Py3 is no worse than Py2, and potentially better. The removal of L suffixes (and, similarly, the removal of u"..." prefixes on text strings) is a bigger deal to newbies than it is to experienced programmers, so that one definitely counts. "This is great, but how can I remove that u from the strings?" was a common question (eg when they're printing out a list of strings obtained from a database, or decoded from JSON). The removal of old-style classes is a definite improvement in Py3, as is the no-arg form of super(), which I'd consider a related change. So there's a bunch of tiny little "quality of life" improvements here. ChrisA -- https://mail.python.org/mailman/listinfo/python-list