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
