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

Reply via email to