Does a python step? Should I retitle this “Baby Slithers in Python?”
I’ve been spending the last few days trying to teach myself the programming language, using James Payne’s excellent book, Beginning Python, from wrox.com.
It’s very well written and (very important to me) well edited. I’ve only caught a few inconsistencies in the code vs. live practice of the exercises, and no grammatical or spelling errors, which is pretty amazing in the world of tech publishing.
If my progress has been slow, I’ve been dutiful about reading every word and going through all the exercises. I really want to learn this language!
I’m not completely new to Python. I tried teaching myself using a different text (which will remain anonymous) a few months ago. It was a pretty good book, but differently structured than Mr. Payne’s, and it soon left me in the weeds of a heavily involved sample project. I haven’t run into any of these pitfalls at all with Mr. Payne’s work, which is very comprehensible and friendly in tone.
It was during my previous tentative that I had to go through the process of installing Python on my machine for the first time. (Well, second time, technically speaking, because my Mac shipped with an older version of the language.) At the same time also installed Anaconda and some other Python tools. Though I got through it OK, I found the process a little frightening and bewildering, and I wish that I had been recording it all in a blog, as I’m now doing. I think my colleagues at Continuum would have found my fumbles to be both informative and amusing.
I have also been working in Python environments for the past couple of months, doing front end work on sites that were already set up by my able colleagues. While, certainly, that gave me only a cursory flirtation with the language, I’m hoping that at least a few bits and pieces of good Python programming reached through to me.
I’m also not completely new to programming, but the only language that I know very well so far is JavaScript. (OK, that may be a scripting language, not a programming language. But arguing about such things is above my pay grade).
It’s been a bit of a slog to go through all the beginner subjects — types, loops, functions, etc., but I can’t assume that there won’t be anything important at the basic level which I’d otherwise miss.
I like Python a lot. There are definitely some helpful built-in functions that I like, and I like the “plain English” style of its API.
It needs some getting used to, though. I'm accustomed to having {}s distinguish my code blocks, rather than whitespace indentations. And there seems to be generally less punctuation in the language than I find in JavaScript, which makes it a little hard to follow.
But the extensive and precise error messaging is a great help, and, so far, I haven’t had to reach out to any of my colleagues to help me out of a jam.
OK. It’s back to the book!