On Fri, Oct 26, 2012 at 6:22 PM, Terry Reedy
For beginners learning Python in classes, I suspect Python 3 is more used. (I certainly hope so ;-).
Instructors have their own kind of inertia. If they change major versions, they no longer get to reuse old slides, they have to rewrite old assignments, upgrade the automated test systems, and even just plain learn Python 3, which is a challenge of its own (albeit a small one.) Remember also that must non-research instructors are vastly overworked, and most research professors aren't exactly eager to burn lots of time in course preparation either, since their job is not to teach but to research. Considering that the differences between Python 2 and 3 are irrelevant for nearly any educational context, what's the payoff? The move is just something they have to do eventually because of bug support reasons, not something they are eager to do except out of some kind of enthusiasm (which, admittedly, instructors often have -- shiny is shiny.) My university (the University of Toronto) has switched to Python 3 for their new Coursera courses, because they involved writing material from scratch anyway, so might as well make it futureproof. The regular classes taught inside the university itself still use Python 2.7 (actually, they used Python 2.5 until the upgrade process a year and a half ago, which I was a part of), and other than the coursera work, as far as I am aware, no moves have been made to switch to Python 3. They might also switch to another language entirely instead. They used Racket in a couple of introductory courses last year, and I've heard good things from faculty and students involved. It's a more viable decision than it used to be, since a lot of work has to be done regardless to switch to Python 3, so the inertial reason of staying with Python is diminished. I don't think this will happen near-term, because they're still investing in Python, but it was nice to see that they were breaking out of their rut and trying new things. -- Devin