^^ ditto that Jeff.
After doing that for a fair while now, I think it's more important to learn proper design/architecture and logic patterns (such as if/else, switch etc) than the language.
For instance, nearly all programming language books/tutorials leave out such things as error handling to "make things clearer", or when to use things like error codes and exceptions and where to use them. If they do include error handling it is usually an abstract example and doesn't explain how it can affect the rest of the program flow, it just shows how to implement them.
It's better to learn things like flow charts and UML I think. I use these daily now and well before I type a line of code. Starting a new chart on a piece of paper is much better than leaving crappy bits of commented out code around (because you think it might be handy later...) and no error handling.
With tested flow charts and UML done typing up the code is quick and easy.
Once you have a grasp of that you need to use a proper language that's not too hard to pick up and test your skills, Python is probably the best for this and is probably why MIT and other uni's use it for their CS courses.
After this, learning a new language is pretty much just learning the syntax. I use over 5 languages daily now with desktop and web app development and I picked up the new ones I needed easily. You already know what logical constructs you need to use from your flow charts, you just look up the operation in the language doc's for the syntax and use it.
There are definitely more specialised things to learn in any language but these are more 'helper' features (such as generics) rather than base features and you can get by without them and you pick them up along the way if you use that language often enough.
I try to avoid oversimplification and sugar coating: programming can be a noble art and involves some skilled craftsmanship. I hope for readers who want to build real-world systems, rather than just toy programs to be able to get a grade or to tick a box on an interview form.