Tag Archives: mapreduce

The current state and future of Python

Follow me on twitter and get the latest tech talk!

I have been working with Python for a bit now, I have to admit that I didn’t start using it by because I thought it was amazing, sexy or cool.  I interviewed with Google last year and I noticed they were heavy on Python and this definitely came to light during the on-site interview.  During the interview process I started to look into it and I liked it, a lot.  I can definitely code, I am self taught since the age of eleven or so, however I don’t have the cardcore computer science theory background, so I never learned (but had heard of and understood) things like lisp and haskell.  Through the interview process, I got familiar with things like MapReduce and GFS, at which point functional programming started to make a whole lot of sense.  If you ever wondered how places like Google, Facebook and Yahoo get things done, then look into MapReduce and Hadoop.  The light comes on and the amazement sets in.  If you want a little more in depth, check out these videos from Google.

So what does python have to offer?  It is a nice mix of procedural programming, object oriented and functional.  That is what I love about it.  It allows you to work in a mix of all three.  It also seems that it is made by a bunch of people that understand that while flexibility is important (Perl code) you have to be able to READ and UNDERSTAND something written by another human being.  One way python does this is by forcing you to indent your code.  This may seem stupid to some but readability goes WAY up, when something is consistently indented the same way.  Another way they make it easier to read than other languages is by making it more like natural language, the language is more verbose than your average language but not as bad as something like BASIC.

An interesting thing about Python is that its very easy for beginners to pick up.  When people tell me they want to be able to just program something real quickly, or learn something for the future I always recommend it.  So far, so good.  Google has chosen it as the language of choice for their cloud solution the GAE (Google App Engine).  GAE is built around python and currently it is the only language it supports.  Python is open source and is not owned by Google BUT the guy who started python does work for them.  The fact that it is open source should put any worries to rest and Google has a track record of doing some pretty amazing things with it, for the benefit of the community.

So what does the future hold?  I think its safe to say when a company like Google adopts the technology then it is here to stay for the foreseeable future.  Recently, the push has been to make Python 5x faster than it currently is and its not slow to be honest.  So, my question to you all is…. what is the future of python?

As always, feel free to contact me directly as well, through the contact page.