matz / ruby-lang.org (Yukihiro Matsumoto) writes: > In message "RE: ruby-dev summary 16501-16750 (immutable?)" > on 02/04/10, "Christoph" <chr_news / gmx.net> writes: > > |May I throw in the fact that Python has a quite different take on this > |on this question? As early (or late?) as version 2.0 Python adapted `in > |place' assignment operators, very similar to C++ *=,+=, etc. operators, > |and very different from Ruby's `convenience (fake?) in place' assignment > |operators. > > I'm totally against Python's in-place (argumented) assignment. The > operator "+=" and such work pretty differently depending on whether an > operand is mutable or not. I feel it's too dangerous and the source > of confusion. It's OK to make something mutable, but it should > certainly not any sort of assignment. well, C++ is one language that has consistent behaviour on this, and still allows mutability: http://merd.net/pixel/language-study/various/assignment/result At least Ruby's += behaviour is the same across mutable or not objects :)