Getting to Know Python
I started using Python briefly in college, thinking it was about as useful as the little bit of bash that I then knew--it just looked a little nicer. I took a whirlwind hiatus of AMD64 C, C++, Lisp, and ML, and then found my first job which brought me back to writing Python for the support of a medical robotics platform. It's a lovely feeling to discover and correct internal ignorance, and I was very happy to be wrong on this front. It felt like gaining a significant edge on the programmer I used to be; I didn't need to spend as long to get the job done. Now I could quickly spam my friends emails, easily connect to free wifi in airports on Ubuntu, and efficiently scrape data from the web. It feels a lot like cheating compared staring at assembly in order to write more efficient C, which always makes me feel suspicious that the other shoe will drop and it turns out writing Python is directly responsible for the death of many kittens.
As I learn and grow, I've bumped into Python's shortcomings as well. I look at this as a positive--if you're not bumping into limitations in life, you're not experimenting enough to reach your full potential. To be frank, I don't see myself as an especially perspicacious engineer, so often this is just bumping my head into the same problem until I realize what it actually is. Of all the stack traces in the world, Python makes this easiest on me.
Watching Python attain such a large market share among programming languages has been really rewarding. It's a bit of a trap to become ensconced in one programming language, but it feels like rooting for the good guys more often than not. With BHAGs like the GILectomy looming large in the future of Python, it's hard to not pay close attention, and even harder to not feel like Python really is the Swiss Army Knife in my toolbox.