On 9 Nov, 20:43, Frank Samuelson <[EMAIL PROTECTED]> wrote: > Carl Banks wrote: > > > What you say is correct in principle, but it's senseless to apply it to > > something you use every day, like def. It's like arguing that irregular > > verbs make speech less productive. > > They do for people who speak foreign languages. It's always easier > for me to remember Spanish verbs that conjugate regularly. And based > on the speaking snafus of my French coworker, I would say that it is > true for her English too!
But where do you seek consistency? It's true that "class" and "def" both bind names in a namespace, and I either recall or have imagined bizarre suggestions where "def" would be used for normal assignments, but is the "inconsistency" really a problem? At some point you still need to have a special syntactic component which says that, in the case of a function, some code is going to follow (yes, "lambda" can do this to an extent already, and people have argued for multi-line lambdas to no avail), and similar cues are needed for classes. You can't wipe away the things which provide meaning in the name of consistency. > Likewise, consistency helps me remember the syntax of the > seven or so programming languages that I use regularly. One can actually make an argument that people using noticeably different natural languages are less likely to mix them up than people using more similar languages; perhaps one can make the case for programming languages too. For example, do people mix up Python and SQL by accident? Java and C++? [...] > > The "defects in productivity" > > in Python aren't going to be "fixed", > > That doesn't sound very promising, though I'm not sure whom you are > quoting. I started tracking some of the complaints about Python and comparing them to Python 3000's supposed remedies. It's interesting reading: http://wiki.python.org/moin/PythonWarts Paul -- http://mail.python.org/mailman/listinfo/python-list