I first encountered Python (as far as I can remember) in the Winter/Spring of 2001. I had to calculate some grades and I was trying to think of a creative way to calculate them while dropping the 3 lowest ones (there were 10 total). The tests (which weren’t dropped) had more weight so, because using Excel for this would have been too easy — really, I didn’t bother to leverage Excel for this–I thought, hey, let me use this tool that I recently heard about called Python.
So, I wrote a Python program that took a CSV with grades and calculated them and wrote that calculation out into a text file. Pretty rudimentary, I must admit but I never forgot how flexible (but strict…damn spaces) Python could be…it always sat in the back of my mind as a tool for lots of odds and ends jobs.
Python has come a profanely long way since then. If I were to list projects that use Python…well, I won’t because there are too many. While PHP is still one of the lingua franca of the web, Python is making inroads there, in systems programming, scripting, scientific and numerical computing and other areas. It seemed like whenever a cool problem came along, here comes Python with a module as an answer. A few examples:
- Hey, I want to get things from the web: here comes the Requests module
- Hey, I want to do stats analysis like my friends do with R: here comes PANDAS
- Hey, I want to install these software packages, ensure these users exist with these permissions, on these servers running this revision of this OS: well, there’s not a module for that..just kidding, Ansible and Salt
I appreciate the structure, quality and volume of Python module offerings. Yes, PHP folks (which was my first web-based dynamic language), I know about Composer and PEAR and PECL and — yes, Perl mongers, I know about CPAN — but, I find Python and pip to be pretty damn useful regardless of platform ( I use Windows, Linux and Mac for development at various times for various reasons…hell, I have even used Python on embedded hardware projects. Python — by way of pyserial — helped me learn how to communicate over Bluetooth).
In short, I want to do more with Python. When I do, I will post it here.
( Image Credit: http://www.python.org )