Michael Hoffman wrote: > Aahz wrote: > >>>One of these days I'm going to figure out how to embody "Namespaces are >>>one honking great idea -- let's do more of those!" Then I shall be >>>enlightened. >> >>What don't you understand about it? (This is a serious question -- I >>can think of several answers to give you, but want to know what focus is >>needed first.) > > I wasn't expecting a serious answer to this, but here goes. > > First, I wasn't a Python user when namespaces were introduced. It's hard > for me to even imagine Python without namespaces. Did imported modules > just go into the same namespace as everything else? Yuck. It's too bad > this happened before there were PEPs so I could understand the design > and what came before.
I'm pretty sure that namespaces are fundamental to the design of Python. I don't think there was any "before namespaces." > Is it the fact that Python is unimaginable without namespaces that makes > them such a honking great idea? Aren't they somewhat of an obvious idea? > Several other languages have them. > > Was the implementation of namespaces easy or hard to explain? It isn't just that Python has namespaces, but that they are the implementation for quite a lot of things. Modules: namespaces. Classes: namespaces. Instances: namespaces. Scope: namespaces. It's a very elegant way to handle a broad class of language features very consistently. That said, I made a boo-boo. The Zen of Python is really a set of design principles (and some of them, like this one, are more specifically *language* design principles), not Essential Development Practices. That'll teach me to not RTFA. -- Robert Kern [EMAIL PROTECTED] "In the fields of hell where the grass grows high Are the graves of dreams allowed to die." -- Richard Harter -- http://mail.python.org/mailman/listinfo/python-list