Becoming a Python Programmer01 April 2012
I’ve been working at Potato for 3 months now. They’re a Python shop and I’m slowly but surely becoming a Python programmer.
It’s one thing knowing about the existence of a programming language and even dabbling in it now and again, but committing to using it every day is a rather different matter. It forces you to get to know the language in a much deeper way. Ha, perhaps it’s a bit like the difference between being friends with someone and living with them! I’ve seen what Python looks like first thing in the mornings and how it likes to snack on Rice Crispies in the middle of the night.
Before Python I worked with PHP. Python is better then PHP. No questions. But of course it’s just exciting doing something different, so maybe that’s a large part of why I think Python’s better. But it’s still better anyway. We all know PHP is a bit of hack, with its inconsistencies, bloat and lack of syntactic sugar. Let’s get the obvious things out the way first; no braces, no EOL delimiter and significant white space. The code just looks tidier, in fact I think there’s even an elegance to it, a pleasing aesthetic. It sure does make you wonder why the hell every language doesn’t do this. Then there’s deeper differences; everything’s an object, the Python console, monkey-patching built-in functions and decorators. Python just lends itself more to the logistics of programming.
For balance I should mention the things I miss from PHP; print_r(), die(), passing by value and not having to manually define ‘self’ as an argument for instance methods.
But the biggest thing for me is the culture that permeates and surrounds the language. Python has a distinct humanity about it, for instance the anti-gravity module that, when imported, redirects the system’s default browser to the famous XKCD Python cartoon. Technically this is of no use, it’s merely an Easter Egg, but what it symbolises is the acknowledgement that it is Rice Crispy-addicted humans that do programming. When you spend hours upon hours on the coalface of a project these little touches of humour can make all the difference. Which in turn attracts a similar temperament of coder. The Python community is broad and friendly.
Python isn’t just a web language, far from it. It’s also used in desktop application development, scientific applications, education and operating system scaffolding. It’s flexible, accessible and welcoming. It’s the kind of language your parents would be proud of if you brought it round for dinner. It’s sociable and civilised. These are qualities that I highly value, in people and programming languages.
I’m so lucky to have been given the opportunity to get to know Python. It’s a real blessing to be able to spend my working days with a mature, sophisticated and humane language. Now, where are those Rice Crispies, I’m getting withdrawal symptoms.