On Thu, 5 Sep 2002, Hal E. Fulton wrote:

> I have heard of the "passing self" feature
> of Python, and I have not really understood it.

It's a minor syntactic choice that hardly has any large-scale effects
either positive or negative. IIRC, Ruby uses "@" so you do a search and
replace for "@" to "self." and you add "self." to your method declarations
and you are done. I would not see that as the basis to switch from one
language to another but your mileage may vary. Python's way may feel
hackish to Ruby people, but Ruby's addition of "extra" syntax feels
hackish to Python people.

All OO languages treat "this" as either a struct or a hash. OO was
invented as the extension of a struct with methods. Some people feel that
it is "cleaner" not to expose this fact and others feel that it is more
honest to do so. I wouldn't get too excited about it one way or the other.
There are much more important language choice criteria like
extensibility, maintainability, scalability, performance, etc.

 Paul Prescod