Personally when I was trying to learn javascript by my own when I first started I couldn't these kind of instructions "x = x+1" because for me it was mathematically invalid. Then in high school we learned Pascal (for some reason we still teach Pascal here). I finally managed to understand that instruction but I don't know if it's because I had a teacher to help (a bad one though) or because Pascal used the := operator making it clear that it's actually assignment and not equality.<br>As for the operator itself, I'm not sure now. From a side I think that making this mathematically invalid notation is confusing but from another side I think that assignment is probably the I operation we do the most in programming so why make the operator longer ?<br>In the case of Python, I say why not have them both ? I mean C++ is full of features that few people use but those people love them and it's probably one of the things that make C++ great, the freedom of style.