From: William Djaja Tjokroaminata Date: 2002-09-05T03:04:51+09:00 Subject: Re: Ruby aesthetics I completely agree with you. Probably it is the standard way of transforming a non-OO language into a OO language (just like OTcl from Tcl). In language like C++, which is closely related to C which is very low level, the language designer has bothered to hide the "this" pointer so that we don't have to explicitly write it unless necessary. Therefore, when in Python, which claims to be an OO language, we have to write object method as def f1 (self, arg1, arg2, ...) self.data1 = ... , I think it is very crude; it smells like a standard procedural language which was tweaked later to provide OO functionality (just like Perl, with its ugly module construction to support class functionality). Furthermore, in Python an object is pretty much a hash, where we can access and add additional data members anywhere, anytime, which is totally opposite to the "information hiding" concept in OOP. This is one of most important reasons, if not *the* main reason I switched from Python ro Ruby. Regards, Bill ============================================================================ Hal E. Fulton wrote: > Hmm, I think that at the lowest level (whether C extension or guts of > the interpreter or assembly language) you would *have* to see this -- > it can't be hidden at that level. A method has to know what the value > of 'self' is ultimately.