10 April 2014

The Big Jump.

So, are you ready for the next level?

So let's Dive Into Python 3.

You should know how to deal with an if or with a loop, in Python or in another language. You should have learned what a function is. You should have an idea of what "Object Oriented" means. You should be able to keep cool when you see that there's a parallel with a language you don't know.

So you dive straight into the good stuff. In detail.

I said "in detail": the chapters are quite long. But they're well subdivided into sections, so if you don't have to swallow everything in one gulp. I'm looking at you, dear chapter on regular expressions.

And since we're on the subject of chapters and sections: Dive Into Python 3 is probably the most pleasantly readable textbook that I have met. There are the collapsible tables of contents; there is just one column, so you're not distracted from what you're studying. The font is beautiful and easy to read.

Another great idea: the difficulty of each topic is marked at the beginning of each chapter. I think that difficulty is always quite subjective; but it's always good to remark that sometimes prerequisites are harder than more advanced topics.

And then there's the text itself. The writing is conversational but precise; it takes you seriously and it doesn't make you feel stupid if you don't know something. The examples and the snippets of code are neither trivial nor unnecessarily convoluted, and they are cleverly annotated outside the code itself.

So: if you're already comfortable with programming, if you automatically go beyond the "reading" part of teaching yourself into the "writing code and playing around with it" part, here's a fantastic book for you.

Now you might wonder where's the catch. There's mostly one: Dive Into Python 3 is, well, a textbook on Python 3. This means that you have to look elsewhere for Python 2.x; but if you're comfortable with Dive Into Python 3 you shouldn't find googling "Python 2 and 3 differences" too hard. I recommend this page on python.org, that being the website of the PSF is trustworthy by definition. Dive Into Python 3 has an appendix on the 2to3 script; but it's an appendix, and it's marked as "very difficult" in a book that is already not so easy.

Another possible issue is that you cannot really skip chapters. Sections, maybe. But you have to follow the path that's been laid down in the book. This is not a bad thing; but if you're reading something at this level you might sometimes wish to have the chance of a more flexible syllabus. But, on the other hand, if you're at this level you can realise when you have to go back and where to; so no harm done.

One last thing: there are many links from which you can take your study to a deeper level, so you can complement the somewhat "cookbook" flavour of Dive Into Python 3 by looking at the official documentation or even at a good post on a blog. But beware the "Problem with Wikipedia"...