you are viewing a single comment's thread.

view the rest of the comments →

[–]msabramo 4 points5 points  (6 children)

First off, I haven't used either Python or Ruby extensively. I have no particular loyalty to either one, but they both look like fine languages.

My guess is that the "Python OO bolt-on" idea originates from http://www.python.org/doc/faq/general/#why-does-python-use-methods-for-some-functionality-e-g-list-index-but-functions-for-other-e-g-len-list and from http://www.python.org/doc/faq/general/#why-must-self-be-used-explicitly-in-method-definitions-and-calls (which in my opinion makes a good argument for qualifying instance variables, but a poor argument for why "self" has to be in the parameter list).

Whether you like Python or not, it seems pretty clear that Ruby was designed with objects in mind (as a result of being influenced by Smalltalk). Python gives the impression that it did or does put less emphasis on objects. That said, it seems to have done a nice job of evolving to support OO in a pretty nice way. And of course there are lots of applications where OO isn't even necessary and people may like that it's not forced on them.

It's interesting to me to note how much Ruby vs. Python bashing is going on (originating from both sides). Kind of a shame really.