"And since we're talking about unused syntax it doesn't matter that 90% of programmers use 10% of the language features -- it's the case with most of the languages with big standard library."
What are we talking about here? Syntax or standard library? STL is not that big, but yet some of the parts are still useless - using higher order functions like bind makes it even more useless - for_each is supposed to shorten one's code, not make it longer. And regarding syntax - yes, bloated syntax is a real problem. If I use 10% of provided functionality, it's fine, but when it comes to reading another person's code, who also uses 10% of functionality, albeit not intersecting with the part you know. It also greatly lengthens process of learning language, can be cause of more bugs, etc etc.
"And since we are so deep in STL lets look at volatile_iterator. There's only one thing I can say about it: It has no sense at all."
But it shows some inherent problem with C++ type system and iterators. It would make much more sense if one could use "const iterator" instead of "const_iterator", but unfortunately language design makes it impossible - nobody had in mind STL when C++ was first defined. Instead, we need to define its own iterator for every keyword combination.
Of course const, the way it is, is yet another problematic feature of C++, it causes problem both when you use it and when you don't.
" First of all Python is another popular context-sensitive language so C++ is not the only one."
In fact, you're wrong. Go figure. And it's kind of ironic that you bring small, clean and simple syntax of Python to face C++ Godzilla.
"all I'm saying is that someone without C/C++ background has no use reading complex C++ code and someone with such background will understand the code after a while."
But almost all of us know at least some C, and yet this syntax is creepy. Also, using lambda isn't really complex, considering it is the basis of functional programming. However, I agree you can't make lambda look consistent with C++, you can make it consistent with some part of C++, since all the parts are not really consistent with themselves.
I just think the C++0x will fuck up the remaining bit of C++, and then no new programmer will bother to look at it.