You once mentioned that some developers feel frustrated that learning too many languages together can be slower than learning one at a time, because the language differences are confusing, and can mess up the mental structure of a single language, in our head. When we start, we may know 200 features of C++. By the end, we have a shaken confidence in 30 features because we no longer remember if Feature A is for C++ or C#, and we may mistakenly assume Feature B (belonging to C#) is also in C++.
I seldom have such a problem. Every time I discover a language difference about a bunch of features, those features become quite hard to forget.
For me, the key is to discover the difference by myself and then blog about it, like I did in http://bigblog.tanbin.com/search/label/c%2B%2B_vs_%20java_vs_c%23.
If a language difference is presented to me in someone's write-up, i often have difficulty internalizing it. I often reach a deeper or higher level of understanding, then write about my own findings. Then, this difference is no longer spoon-fed to me, but metamorphose into my own discovery.
Such a process takes effort each time, so I don't do this every time. I feel learning multiple languages inevitably takes effort, if we want to compete with others in the “knowledge” contest. No pain, no gain.
 Speaking of the =:structure:=, all well-designed languages have a ton of nitty-gritty features (200++ pages) organized into a clean structure built on a small number of key principles. Without such a structure, a language is hard to learn and won't catch on. In fact, this is a criticism on perl. I know perl the language has structure and strong principles, but perl appears less structured than most languages.