From: paul at prescod.net (Paul Prescod)
Date: Mon, 26 Apr 1999 22:09:09 GMT
Subject: Python too slow for real world
References: <372068E6.16A4A90@icrf.icnet.uk>
		<3720A21B.9C62DDB9@icrf.icnet.uk>
		<3720C4DB.7FCF2AE@appliedbiometrics.com>
		<3720C6EE.33CA6494@appliedbiometrics.com>
		<y0jaevznhha.fsf@vier.idi.ntnu.no>
		<glmvhemn4zx.fsf@caffeine.mitre.org>
		<37215EFB.433AFCA6@prescod.net>
		<roy-2404991257450001@mc-as01-p63.med.nyu.edu>
		<3724B2D6.B468687A@prescod.net> <roy-2604991601410001@qwerky.med.nyu.edu>
Message-ID: <3724E405.5E8ACFD6@prescod.net>
Content-Length: 2104
X-UID: 167                                                  

Roy Smith wrote:
> 
> Paul Prescod <paul at prescod.net> wrote:
> > It is a performance issue if you don't know that regexps are supposed to
> > be compiled.
> 
> I hope this doesn't sound as bad as I fear it might, but part of being a
> good programmer (or at least a good computer scientist) is to understand
> performance issues like this.

No doubt. But Python is not designed to be a programming language
exclusively for good programmers or computer scientists. As I understand
the design, it also caters to those that are new programmers and to those
that don't want to worry about any more details than they absolutely have
to.

> If you
> don't understand that factoring the expensive constant compilation process
> out of a loop is important to make your program run fast, you aren't a
> good programmer.  No programming language can help that.

That is absolutely not true. It is, however, a common myth. A programming
language can have default behaviours that support beginning programmers.
Python does that in most cases. 

In the last Perl/Python flame war someone used the analogy of clumsiness.
Sure, a clumsy person could kill themself with a dull knife but that
doesn't mean that a loaded gun and a dull knife are equally dangerous.

I'm not promoting any particular language change here. I'm arguing against
the throw-your-hands-in-the-air-and-expect-programmers-to-be-experts
argument that is used to shout down any change that makes the language
easier for non-experts. That's the design philosophy that gives rise to
other languages that start with P: "You mean you aren't familiar with the
string interpolation conventions of the C-shell and the input argument
defaulting of Awk?"

-- 
 Paul Prescod  - ISOGEN Consulting Engineer speaking for only himself
 http://itrc.uwaterloo.ca/~papresco

Company spokeswoman Lana Simon stressed that Interactive 
Yoda is not a Furby. Well, not exactly. 

"This is an interactive toy that utilizes Furby technology," 
Simon said. "It will react to its surroundings and will talk." 
  - http://www.wired.com/news/news/culture/story/19222.html




