On Sat, 03 Dec 2011 05:54:19 +0200, Antti J Ylikoski wrote: > The O'Reilly book has some 1200 pages. I would not want to invest such > an amount of work and time to an obsolete language (i. e. Python 2).
Python 2 is not an obsolete language. The differences between Python 2 and Python 3 are minor, more like different dialects of one language than two languages. I learned Python 1.5 and watched the extended transition between 1.5 -> 2.2, and in my opinion, the 2.5 -> 3.2 transition is not that much more difficult. An experienced programmer won't have any difficulty learning both, and swapping between them. Newbies who have never programmed before often have trouble with the differences between 2.x and 3.x, but if you are an experienced programmer, you shouldn't have any trouble at all. The biggest difference to the language is that strings are now Unicode instead of byte strings; this has forced a lot of English speakers to learn about Unicode and bytes instead of assuming that the universe is ASCII. Apart from that, the differences are, in my opinion, trivial. However, there are a lot of them: http://docs.python.org/release/3.0.1/whatsnew/3.0.html But the most important ones in my opinion are: * unicode text, as mentioned above, and the consequences of this; * some of the modules in the standard library have been renamed; * various new modules have been added; * some built-in functions and methods which used to return lists now return lazy iterators or views; * print is now a function instead of a statement; * a small number of syntax changes, some of which are also supported by Python 2.6 and 2.7; * "classic classes" no longer exist, so there is now only one class mechanism, not two. If you can deal with the difference between these two lines without getting confused: print md5.md5("spam").hexdigest() # Python 2.x print(hashlib.md5("spam").hexdigest()) # Python 3.x you're half way there. -- Steven -- http://mail.python.org/mailman/listinfo/python-list