Thursday, November 7, 2013

Book Review #9

Learning Python
Mark Lulz

I'm trying to learn Python as part of my Raspberry Pi experience. O'Reilly has been a great source of learning in the past, and I do not see any reason to stop. I bought, sight unseen, three books: Learning Python, Programming Python, and Python Pocket Reference. All by Mark Lulz.

The content of Learning Python is comprehensive, informative, and extremely thorough. Worthy of any O'Reilly book. Unfortunately, I find the later section to be boring, and I was nodding my head off. The author, to his credit, understand this and wrote that the latter section is part of the advance section that only the most dedicated users will want to touch. He also helpfully highlights parts of the language that, at first sight, looks niche, but actually are used rather often. So, that is very helpful when you want to prioritize in learning the language.

The book is a tutorial book. The author provides plenty of explanations of how things work. Sometimes, I feel like there's too much information, but unlike fluffy padded books, I can't remove materials without sacrificing information. Therefore, I can say that the book is worth the number of pages it contained. There's only one complain. The book is 1500 pages long!

Don't you think that, maybe, it's better to split this tome into 3 books, instead? ^_^;

Another gripe, is that I think that the author is trying hard to position Python as "the better Perl". In that, it has all the Perl advantages, without the disadvantages. I'm afraid that's a common opinion, although I do not share it. One of the complain was that it's easier to write Perl from scratch than to read it. I take it as Perl is so easy to write, rather than Perl is hard to read. Another thing is that, taken in full context, Python is full of special cases that differs by little, each to its particular purpose. I keep thinking, "you mean you prefer this to Perl?"

Of course, it should be obvious by now, that I do not think much of Python. In fact, all of Perl's criticism can be easily levied to Python just as well. I never did find reading Python script easier than any other language. It's the programmer, not the language. In fact, at the end of the book, where the advanced section lies, the author warned the readers to use the knowledge judiciously, knowing that if the features are misused, it can lead away from Python's philosophy. You know what? Apply the same advice to Perl, and you'll get the same result!

So, now that I learned Python, I'm afraid to say that I am not a convert. However, as far as learning Python goes, this is the gold standard. I have yet to see any treatment that is more sophisticated, comprehensive, accessible than this tome. Just, please, split it into 3 books. My hands got cramped just holding it up. ;)
Highly recommended.

No comments:

Post a Comment