I learn a little Python
I spent thursday morning in a tutorial intended to improve my Pythonese. It was a decent tutorial. Python seems like a nice enough language. In the large, I find myself of two minds on the "multi-paradigm" thing. Python has objects, it has scripting (read: all kinds of syntactic sugar designed to make common scripting operations terse), it has functional, it has a belly button and a kitchen sink. So on the one hand, that's kind of cool. It means you can use the language how you want, and not have to buy in so seriously to one set of idioms or the other. And you can vary your approach within the program. As one part of the program wants a more functional solution, you invoke those properties, and so on.
On the other hand, I find my brain wandering and seeing a dictionary definition that went something like this:
Multiparadigm Language: A language which props up its limited iimplementation of one paradigm with limited implementations of other paradigms.
One thing that intrigued me was that numbers are transcendental, but the behavior of / varies on reciever type. Two integers will do an integer division. Integers automatically scale big. But they're changing this in 3.0. In 3.0, integers division will produce a floating point result. When I asked why they didn't consider introducing a fraction, so that precision was not lost, I got a glazed reaction.
The slicing stuff was kinda cool. Very terse, but also kinda weird when you get into the edge cases. You can do the same kinds of stuff with the ReindexedCollection APIs found in the NumericCollections package.
So in the end, it was a nice language. I can see why lots of people use it. I'll stick with Smalltalk though, it offers me all the same stuff, in a more fundamental implementation and with the IDE I love.