Phillip J. Eby wrote:
>>> * Eliminate implicit string concatenation:   "abc" "def"
>> Sure, I use it, but if it went away, I would type the plus sign.  Not
>> a problem.  And it would be one less thing for newcomers to learn, and
>> explicit is better, right?
> But there's another Python principle here, I think...  complexity of 
> computation should be represented by complexity of syntax.  We don't 
> generally like to use properties for expensive computation, or methods for 
> simple field access, for example.  Putting in a '+' sign makes the code 
> *feel* like there's more computation going on, even if the computation gets 
> optimized away.

Given that the set of things the compiler can optimize grows at a faster 
rate than the syntax changes to the language, I'm not sure that that's 
really a principle.  Yeah, sure, you don't want to hide, say, a 
reverse-dns-lookup-with-associated-timeout behind the creation of a 
socket (to take a horrible example from Java that's just finished biting 
me), but + isn't really a heavyweight operator, especially if you're 
thinking of (small-ish) integers, and if the compiler optimizes it into 
less than one instruction, then great.

I suppose I see the + case for strings, in particular, as being more 
similar to the + case for numbers than calling methods or properties...

Later,
Blake.
_______________________________________________
Python-3000 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to