[Python-Dev] RELEASED Python 3.0 final

glyph at divmod.com glyph at divmod.com
Fri Dec 5 08:58:30 CET 2008


On 06:05 am, guido at python.org wrote:
>On Thu, Dec 4, 2008 at 9:40 PM,  <glyph at divmod.com> wrote:
>>The default case, the case of the user without the wherewithal
>>to understand the nuances of the distinction between 2.x and 3.x, is a 
>>user
>>who should use 2.x.
>
>Not at all clear. If they're not sensitive to those nuances it's just
>as likely that they're a casual developer (e.g. a student just
>learning to program). Such users are unlikely to start using major 3rd
>party packages like Twisted or Django, which would be completely
>overwhelming to someone just learning. As shown in
>http://www.comp.leeds.ac.uk/nde/papers/teachpy3.html, Python 3.0
>removes quite a few warts that are likely to trip up learners.
>
>Once they are ready (probably under the wings of some guru) to dive
>deeper, they may have to learn about 2.6 and how it differs -- that's
>a useful exercise by itself, but if I'm right, most learners won't
>have to go there because by the time they get to that point, the 3.0
>ecosystem has matured enough to support their needs.

Well, ultimately the way you want to position this is your decision, but 
you haven't convinced me.  My experience of casual developers suggests 
that they are _extremely_ sensitive to such nuances.  Library support is 
a big one, but even bigger than that is the reporting of errors when 
mismatched versions don't work together.  Are they going to understand 
that 3.0 and 2.6 are actually different languages, or are they just 
going to think that something's broken when they double-click on a .pyw 
file they got from some random python 2.x tutorial, with python 3 for 
windows installed?

My interest is not hypothetical.  I am trying to avoid hearing someone 
say this to me: "Oh yeah, Python, I tried that, but it didn't work.  I 
use Visual Basic now and it's pretty good.  It has good graphics."

This type of confusion will persist for years.  It will probably be 
worst at the point where both versions are enjoying equal popularity, 
but at least by then all the tutorials and tools will loudly say "python 
TWO" or "python THREE" on them.  At least now, at the outset, it is 
pretty clear what direction the confusatron's going to tilt in.


More information about the Python-Dev mailing list