So 9 years ago this month, I completed a rewrite of an app that a coworker had written in Python.
I rewrote it in a combination of simple Unix shell scripts and more complex .sql files.
Why? Because it was the only Python program around, and there was NO GOOGLE.
At least not in the way there is today, where hundreds of examples, tutorials, and guides are a keyword search away.
Also, because the parts that were written in Python were really simple, fire off a cron, send an email, but lots of code had been devoted to them as he explored the language.
But the parts that *needed* to be concentrated on were the database queries – it was an ETL program – one that did a massive 30GB data transformation every month.
When I started on the project, the process from start to finish took three people and entire month. When I left, it was running automatically in 10 hours.
So, it wasn’t that the Python itself was bad, rather, it was concentrating on the wrong problem.
Now I find myself contemplating taking on a huge Python-based project. And I ask myself…why Python, Why Now?
Because for this project, the hard part IS something well-served by lots of tight snippets of app code, and now there IS Google.
But mainly, it’s because of the Python community – much like the much-touted iPhone slogan, in Python “There’s an egg for that”. An egg is a little package of reusable code that someone else made ready for you to use…for free.
The library of eggs is now so vast, and so HIGH QUALITY (overall), that it’s a massively compelling toolbox now.
And, even if the egg is poorly documented, Python is so easy to read that it’s often a quick matter to figure out how to use it just from reading the source…which is NOT true of something like Java.
The world has changed a lot since 2001 – and IMO, in 2010, the winners in the tool wars will be the ones who get the most information on their tools available on the internet – for free…