The Barnes & Noble Review
Thousands of web (and other) developers have been moving from Perl to Python, and few of them are looking back. They like its built-in object-orientation, relative simplicity, easier reuse, power, and (with Python 2.0), its strong XML support. While Perl and Python have notable similarities, there are, of course, substantial differences. You could discover them on your own, by trial and error. Or you could get Martin C. Brown's complete, practical road map for moving from Perl to Python.
Brown, whose previous books include Debugging Perl, Perl: The Complete Reference, and Python: The Complete Reference, knows both languages exceptionally well. We've seen other technology "migration" books that give short shrift to the technology you're moving from. This one doesn't suffer from that flaw. Brown's constantly comparing Perl and Python -- showing where they differ, where you can leverage your existing skills, and where you need to change your mind-set as well as your syntax.
Brown starts at the high level (similar precedence models, data types, sequential execution; major differences in the languages' approach to objects and built-in functions). Then, he gets down to ground level -- and stays there. There are the basics (differences in line formats, commenting, and variables; Perl hashes vs. Python dictionaries; Python's tuple feature, which has no equivalent in Perl). There's extensive coverage of Python functions (which borrow more from C than from Perl). There's a full chapter on exception handling (here, it's Perl that harks back to C, while Python's approach is fundamentally different).
Perl to Python Migration offers comprehensive coverage of interfacing with the operating system (from identifying your environment to controlling filesystems); manipulating text, data, and files (where Python's a lot better than some Perl folks give it credit for); and GUIs (via John Osterhout's Tk, same as Perl). There's also a taste of web/CGI programming (we'd have liked to see a bit more here, but in fairness, Python's CGI support doesn't yet measure up to Perl's).
Putting that caveat aside, if you're making the jump -- or considering it -- this book will ensure a soft, cozy landing.
Bill Camarda is a consultant, writer, and web/multimedia content developer with nearly 20 years' experience in helping technology companies deploy and market advanced software, computing, and networking products and services. He served for nearly ten years as vice president of a New Jerseybased marketing company, where he supervised a wide range of graphics and web design projects. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.