Current verbiage: """ As a result of the changes, programs written for Python 2 are likely to be incompatible with Python 3 (and vice-versa). Since both versions are going to co-exist for a while, a choice has to be made as to which one to use. As a very subjective opinion, we would like to offer the following:
* Consider the possibility of teaching both Python 2 and 3. If you are teaching beginners, the only significant differences are the print statement/function and the integer division [and possibly the input()/raw_input() changes...] which you can point out as you go along. Of course, you will have to decide on a common version to install for everyone to use; to decide which one, or if you really want to focus on teaching only one version, we suggest that you consider the other two alternatives. * Teach Python 3 if you only plan to teach Python as an introductory language (say in a CS-1 course), making use only of modules included in the standard distribution. Alternatively, if you teach Python in languages other than English, where non-ascii characters could be put to good use in writing identifiers, then Python 3 should definitely be your choice. * Teach Python 2 if you think you might be using third-party modules not included in the standard Python distribution, or if you are not familiar with Python. You may want to consider teaching Python using the older version (2.6 is the most current release) until more third-party modules have been ported to the new Python version, and more tutorials for the new version are available. """ I'm wondering if this should be fine tuned to more explicitly encourage 2.6 and above if doing Python 2 (because of 3rd party dependencies), 3.x in all other cases. Why? Because in 2.6 (and 2.7) we've got the new core Python format specifiers (PEP 3101) plus have the potential to import the Python 3.x print function from __future__. Of course it's up to individual teachers to make their own determination. The edu-sig page is not about dictating anything, simply making recommendations. However, shouldn't the bias be to encourage using 3.x? Lots of tutorials out there by this time. 3.x also tends to return iterators in a lot of places where 2.x returned a list, e.g. in the case of zip, range etc. -- lots of subtle differences that are quite pervasive nonetheless. If you are "not familiar with Python" (bullet point 3), then isn't 3.x is your better bet? It's easier to think of strings as just unicode codepoints (u-this and u-that) with their byte encodings a separate data type. Having students get it about unicode is pretty important in this day and age, no? Anyway, just ruminating. People get their advice from a million sources. An appropriate topic for discussion though. What 3rd party libraries would break? I'm big into VPython, so right off the bat I'm facing such issues. Anyone else using that or am I the only one? Kirby -- >>> from mars import math http://www.wikieducator.org/Digital_Math _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig