On Jun 24, 5:11 pm, [EMAIL PROTECTED] wrote: > Well chosen restrictions sometimes are very useful, they may act like > a scaffolding, you can build higher constructions on them (Python has > no macros, this is a restriction. But this restriction has some > advantages. One of the main advantages is that it makes the Python > code more uniform across different programmers, this is one of the > thinks that makes the Python world so full of pre-made modules to do > most of the things you may want to do).
I am all in favor of *well chosen* restrictions. However the meaning of "well chosen" depends on the context. For instance, just today I was reading this very interesting paper on PLT Scheme object system: http://www.cs.utah.edu/plt/publications/aplas06-fff.pdf The interesting thing is that the whole system is built in pure Scheme on top of macros, and still it has an acceptable performance. In Python I could never do the same, I would need to resort to C. So, while I agree that for the common use cases of the enterprise programmer Python is much more productive than Scheme, a computer scientists experimenting with object systems will probably find Scheme more suitable then Python. But I am digressing. The point is that a language with very few well chosen features (say Scheme) allows you to build everything else on top of it (say an object system) without needing to resort to a different implementation language. I program in Python much more than in Scheme for many reasons, but not because I think that Clinger's maxin is wrong. Michele Simionato -- http://mail.python.org/mailman/listinfo/python-list