On Thu, 28 Oct 2010 14:14:43 -0400, Craig McRoberts wrote: > First off, greetings from a newbie! > > Here's the deal. I gained a passable knowledge of Python nearly ten > years ago. Then I decided a career in the computer sciences wasn't for > me, and I let it go. Now I find myself back in the development arena, > and I'd like to pick up Python again. How much has it changed in my ten > years' absence? I've already resigned myself to starting over from the > beginning, but are my books from that time period even worth using now?
The one sentence summary: if you're on a tight budget, and want to re- learn Python on the cheap, you can reuse your old books, plus free resources on the web, but if you're in a hurry it will be easier to buy some new books. Longer version: Ten years ago would have been around version 1.5 or 2.0, give or take. As a language, Python has been very conservative. The basic syntax of Python 1.5 still works. If you stick to Python 2.6 or 2.7, there have been virtually no backwards incompatible changes since version 1.5. The only exceptions I can think of: * some libraries have been dropped; * a change in the way hex() and oct() of negative numbers is displayed; * nested functions behave differently; * the occasional new keyword has been added (e.g. yield). Other than that, you can take virtually any example from Python 1.5 and run it in Python 2.7 and it should still work. It might not be the best way to solve the problem, but it should do it. Most of the changes from 1.5 to 2.7 have involved *adding* features, rather than taking them away. To learn the new features, read the Fine Manual, especially the What's New that comes out with every new version, or go out and buy a book covering the latest version. If you advance to Python 3.1, you can add to the list of backward incompatibilities: * minor differences in the way classes work; * print is now a function, not a statement; * strings are now Unicode, rather than bytes; * various functions and methods which used to return lists now return iterators; plus others I've forgotten. That makes a jump from 1.5 to 3.1 rather more problematic, but it can still be done -- the basic language is still almost identical, the syntax hasn't changed much, but there's a whole lot of new functionality that will make your life easier. -- Steven -- http://mail.python.org/mailman/listinfo/python-list