Sometime this summer, I started diving into Python. By then I had been doing PHP for about four years, and I was growing mildly tired with it. Being a language aimed at the web definitely had its strengths, but it seemed as though it also limited the language design from the start. Rasmus Lerdorf created it as a way for him to integrate C-code into the HTML he was doing, and it seems as though they never left that path, even as PHP was turning into a somewhat full fleshed programming language. And well, that was starting to annoy me a bit.
So I turned to see what alternatives was there. I started off with everyone’s new favorite, Ruby. I like Ruby, I really like it a lot. The language design is really clean. The problem with Ruby is, it seems as though the only option you have, if you want to do web stuff, is to use Ruby on Rails, and I really didn’t want to. RoR might be all very fine (I don’t wish to get into that debate), but it just seemed as far too big for what I would ever want to do on my own hand. web.py on the contrary, gives me just the tools I need, and then gets out of the way.
So, I chose Python. Two things I thought stands out from the two (who I think largely are very similar) was these:
- A huge standard library. And, contrary to PHP, these comes as modules, so they don’t mess up the scope, you just select what you need.
- Named arguments. While this might seem as a bit of a minor feature, I can’t count the number of times I’ve wanted to be able to do this. I really like named arguments
And after having written Python for some months, I must admit I’m thrilled. I still do PHP at Verk and at GMTA, but at GMTA they let me do some Python occasionally. That’s nice.
I like Python.