TheFlyingDutchman said:
I am not talking about the way it does it, but rather, the way it
could do it or... could have done it. That requires no knowledge of
how the interpreter currently does it unless I am proposing something
that no interpreter in the world could ever do.
Yes, there are a couple of things that could have been changed. But from
what I can tell there are a number of reasons why things where chosen to be
the way they are.
Two of those reasons is to make the core C code smaller and easier to
maintain and also to make it easier to understand how things work.
Exposing the inner workings as visible python code vs hidden C code helps
both of those.
Another benefit of exposing more of the class machinery of Pythons objects
as python code, is it makes it possible to modify more of how things work
directly with python code. A good way to see how this works is studying
how descriptors and properties work.
http://users.rcn.com/python/download/Descriptor.htm
You will find there is much more of python written in python than it may
first seem. In some cases the built in classes and modules are written in
C, yet they still work as if they are written in Python.
So if you can find a way to do things like removing self in python in such
a way that it doesn't require adding more to the Core interpreter, then it
might be considered.
What I've found is as my skills improve, I take more advantage of being
able to modify and/or introspect how things work. This allows more choices
on how I might solve a particular problem.
I also think there a lots of improvements that could be made to other parts
of python such as the libraries that would be of much more practical benefit.
Regards,
Ron