Hi Russ, Here are just some pragmatic considerations. Personally I am against data hiding, but I obviously won't convince you in that regard. There are some pros and cons as with anything, and I feel the cons outweight the pros (namely that users of code should be able to use how they want, even if it means shooting themselves in the foot; and the fact that priv somewhat breaks the dynamics of python)
Even if your proposal were to go through, you are looking at probably 2 years before it can even be used. Python3 is basically in freeze mode, and it contains the biggest change in python syntax for a long time. I know it doesn't seem like a big change to you to add a priv keyword, but python very rarely adds keywords, so it's a long shot merely for that reason. This is something that potentially would be under consideration for something like 3.2 or higher I think, so if you want to get the job done now, this topic or trying to convince other long time python users isn't going to accomplish your goals. Leading underscore takes two keystrokes to type (shift, _) while priv, private, etc takes many more. If you are too lazy to type "_var" then how come you aren't too lazy to type "priv var"? Too me it seems like more typing. If the primary objection to leading underscores is looks, it seems like you unnecesarily avoid them for a pointless reason. There are ugly aspects to every language, and there isn't really a better convention to use that I can see. Without of course implementing keywords, which are conceptually difficult to think about in terms of python object model - although you might be able to come up with a way. But if you have a better naming convention or strategy that you want to try on your code, nothing is stopping you. You can use one of the hacks found in this thread, or come up with your own hack, to more or less accomplish what you want. It should take 30 minutes or less to set up, and you are done with it. The internals of python make it difficult to do more than that, but you are welcome to create your own python fork if you think you are up to it. Although I think that would be more than 30 minutes of work. And feel free to try other languages. No one claimed python is the best for every circumstance. Well, if someone claimed that they are just fooling themselves. Python is a good hacker language that scales pretty well into enterprise and web services; and can be used for other things as well. I don't believe that data prevention (we aren't really talking about just hiding here) is necessary for 99% of tasks, but other people think differently, so there are plenty of languages that implement these features. Good luck finding a solution to fit your project. However I don't think trying to get a "priv" keyword into official python is feasable unless you want to wait a very long time and go hoarse from shouting :)
-- http://mail.python.org/mailman/listinfo/python-list