|New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About| |
Keywords: Python, programming Title: Dive Into Python Author: Mark Pilgrim Publisher: APress ISBN: 1590593561 Media: Book, Web, PDF Level: Beginner, Intermediate Verdict: A great book. Highly recommended |
Most books that aim to teach a programming language take an all-encompassing approach in that they assume that the reader doesn't know how to program at all. So in a text on Java or whatever you'll get basic material on looping, control flow, what a variable is and so on. For anyone looking to pick up on a second (or third or fourth?) language there's a lot of stuff to skip through to get to the real meat.
There's no such problem with Mark Pilgrim's 'Dive Into Python'. This is a book (or web site or PDF file) for those readers who just want to, well, dive in. Structured around a set of language topics (data types, introspection, objects, file and exception handling etc), the book takes a decidedly hand-on approach, using small programs and code snippets to show how Python gets things done.
For the absolute beginner there are a couple of very introductory chapters which cover installation and the bare bones of writing code. However once the shock of using indentation to block code has passed it is pretty much straight into real problems and real topics.
Each topic gets a chapter, and each chapter opens with a listing of a complete, (and useful), Python program. Of course being new to Python the code is often impenetrable to begin with. But in the course of the chapter the code is dissected, toyed with, tweaked and otherwise prodded until it rolls over and purrs nicely. It's an effective way of getting into the Python mind-set, and it means that there reader has usable code to hand very quickly.
Also useful are the side-bars for seasoned Java/Perl/VB programmers, pointing out differences and similarities. There are pointers to further reading too, so that if something grabs your attention, or you want something a bit more formal it's relatively straightforward to home in on useful material.
The range of topics is fairly wide, and includes technical areas like regular expressions, XML processing, Web Services using HTTP and SOAP, process related topics such as refactoring and test-first development and even a chapter on performance tuning. Note that GUI programming is not covered, and neither are platform-specific areas such as Windows/COM programming. But on the whole the choice of topics is enough to illustrate the power of Python and also to give a real world taste of the applications areas it can cover.
It's not just on the technical side that the book scores high marks. Mention must be made of the writing style, which is both accessible, technically competent and riddled with peppery asides and wise cracks. It works well, and it really is a pleasure to read. What's more the book succeeds in enthusing the reader. Highly recommended.