When I Choose Python
November 10, 2009
I choose Python to write mostly small scripts, helper tools, s’il vous plaît. I use it to process text files to extract and transform data (poor man’s ETL). I use it to automate routine manual tasks so I can do bigger and better things with the saved time. I have even (successfully) attempted to write a prototype B2B web application for my employer. I now understand the range of tasks I can accomplish with Python.
But the right tool should always be used for the job. I am not a programmer. I program a bit here and there but that is not my primary task, interest, or goal. I don’t write enterprise software. This is why I write scripts and not software. And Python is a very handy and helpful language to write them in.
I have learned and used C, C++, Java, and Perl. They all do wonderful things on their own but the kind of work I do, they are either too unwieldy or Python beats them in “having fun while creating”. When I choose Python, I don’t choose it because it is the best language in the world. I choose it because it gets the job done for me and saves me time. I am not saying that Python could not be used to write enterprise software and I am not saying it could. But for a person who works with data, database, networking, and voice technologies, Python is a useful tool. Use it where appropriate and don’t try to ram it down a project if it’s not a good fit.
N.B. The idea for this post came from Bad news: Google employees are being discouraged from using Python for new projects.