xkcd - Python
xkcd.com
xkcd.com
These days I'm investigating computer vision algorithms. I had worked on them for real time interactive apps (games that used webcams for input... ie: your fingers are the mouse) using C++, but for experimentation this was getting very tedious (even if I've always used Lua for the games themselves... but that doesn't help in the CV engine at all).
These days I've been creating an hybrid that lets me play with CV stuff in Python, so that I can experiment with a lot of algorithms and techniques at once and only later see which ones are useful for my purposes for the final real time C++ app. And it became REAL FUN at once. Python is refreshing, and Python as a language is fun. It feels like playing while you should be working.
And on monday, the real test to Python came. My girlfriend wanted me to teach her enough programming to let her program some interesting Boolean Networks stuff she's very intrigued about. In the past, I had been teaching her some other languages, like a little of C++ and Flash, but they were somewhat boring for her as they were always requiring a little more of abstract programming knowledge from her (a curious foreign in the world of CS) to let her do something interesting (structures, pointers, tedious strings stuff, and very stupid and useless stage stuff in Flash). In Python, in a few hours of teaching we could program some Boolean Networks, repeat some results we had got in paper, and get some interesting new results... it even got very interesting both for her and me, as we got some very curious and intriguing results!!
We ended the day talking about how to extend that, about what other elements of programming she'd need to learn to do some other things she wants to learn, and also she's been teaching me some basic biology to understand what's the connection with this strange BN stuff.
Of course, my gf is a very intelligent girl... but anyway I consider the success of this first intent of teaching anything superior to an interactive "hello world" to be an excellent marker of the simplicity and power of Python as a programming language.
Color me jealous.
He mentioned a list of groups that were using Python in a big way. Google, Weta, ILM, JPL, iRobot, AnyBots, Justin.tv
SciPy is going to switch lots of Matlab users. If there is a good browser-side way to use Python, it will skyrocket. One language that excels at the back end, front end, media processing, signal processing, and scripting.
Just my opinion of course but I'd say while Python has some excellent libraries, the language itself feels quite poorly thought-out compared to something like Common Lisp. It could be worse, but it certainly could be a lot better.