"James Mills" <prolo...@shortcircuit.net.au> writes: > Python is a dynamic object oriented language ... (almost verbatim > from the website). It is compiled to bytecode and run on a virtual > machine.
1. There is nothing inherent about dynamic languages that prevents them from being compiled. There are compiled implementations of Lisp and Scheme that beat the pants off of Python in performance. 2. There is also nothing inherent in a dynamic OO language that says that class descriptors have to be mutable, any more than strings have to be mutable (Python has immutable strings). I agree that being able to modify class descriptors at runtime is sometimes very useful. The feature shouldn't be eliminated from Python or else it wouldn't be Python any more. But those occasions are rare enough that having to enable the feature by saying (e.g.) "@dynamic" before the class definition doesn't seem like a problem, both for encapsulation and because it can also improve performance. -- http://mail.python.org/mailman/listinfo/python-list