yeah. this is my special blend i recommend, no particular order:
1. C, learn C++ later. Learn c++ template magic, then never use it again.
2. Some assembler project at least once
3. C# - garbage collected, flexible popular OOP language. Fuck java.
4. A functional programming language. I recommend Erlang, or SML if you have to
5. Metaprogramming. Ruby or Lisp. Lisp is best for this, but ruby is useful in the real world and doesnt make your eyes bleed
6. embed/extend a scripting language with C/C++. Python or lua are good contenders.
There are other interesting languages, but if you got these down you have a really broad and solid base. Then the trick is to really specialize in the tricky ones. C++ has a lot of gotchas and need a few years of experience to stop you screwing up.