For me the book was definitely a 5-bigeyed-critters read. However, I've had some exposure to Unix in various forms, shell programming, lots of C, and another interpreter with introspective capability (Forth!). Plus a little recreational reading and programming in OOP but no real professional committment to it yet.
Given this background, the book really hit the spot for me. Most of the knowledge required to understand the subtler points was in place, making it interesting and gratifying to plow through.
However, my rating of 3-bigeyed-critters is to indicate that it is probably to ambitious for a newbie learner (as has also been pointed out in another review). Perhaps there should be a "training-wheels" Python Boot Camp book that will give the real neophyte a better feel for the poles of functional and procedural programming between which basic Python seems to oscillate. This is not a slam against Python (I wish I could write something as good on the job, let alone in my spare time), but a frank recognition of its origin as a work-in-progress that was and continues to be molded over time.
I've never had as much quick payback from a book and language as I have with this book. When I saw that email capabilities were provided, I looked up an smtplib example on the Web and commandeered it for a Monte Carlo computation of the value of pi. Basically, you generate random coordinates in a square, count them and also the fraction that fall inside the inscribed circle. By comparing the hits in the circle to the hits in the square, you can arrive at a value for pi without resorting to calculus. It's a brute force approach, and it's not fun having to sit and watch the results scroll by on the screen, so I used smtplib to send me an email every billion iterations (one for each random pair of coordinates generated) with the latest (gradually improving) value for pi. Nice! Long integer support really helped with this, too. But I've never had a program of my own send me mail before: definitely worth the price of the book.
I had heard that Python was a good prototyping language some time ago, but was actually about to settle in and grind out something in C and VB/VBScript when I realized that Python had been installed on my Windows XP Home Edition without my even knowing it. I found out it was there after enabling Explorer display of hidden files and directories. There it was, Python 2.2, so I tried it out, verified that it worked, and then decided to get a book or two and learn more about it. "Learning Python" is my first exposure, with occasional excursions into the "Python Cookbook". Although I ordered the VBScript books from O'Reilly before I went off on this Python tangent, they will probably lie around unmolested until I've seen just what I can do in Python. I'll probably read them later and do something with them for résumé candy, but I expect that I'll probably reach for Python first even after I've done the VB thing.
Also very gratifying was the fact that in spite of only a little exposure to HTML and no knowledge at all of CGI, I was able to understand the HTML/CGI example which will feed into some browser-enabled projects I'm working on now. All in all, a great language and a great book to get started, if you've been around the block with computers and maybe a few other languages.
Thanks to the authors for this book, and thanks to O'Reilly for being there all these years with killer technical documentation. The publisher's reputation for excellence is why I reach for the books with the animals first. I wish there had been something doing this for the IBM 360 and its successors!
Publish on.
|