I'd agree with what everyone here has said about learning a foreign language, it does teach you another way of thinking, another way approaching problems - and the world. Different languages have different ways of describing things, which refer the different values of the culture. It's also interesting to realize that in most of the word people will speak at least two languages, even in the developing world, where people will learn a local, then national language, before even starting on English! It really shows us anglo-phones up! And word of caution, based on what I have found from trying to learn Indonesian: like programing languages, languages have rules (duh!), unlike programming languages, this rules are incredibly flexible, and often broken (this depends on the language though). This did frustrate me a little, but I think it is an interesting lesson on the boundaries between ordered systems and the somewhat chaotic results that sometimes evolve. I would recommend Chinese, because of the progress China is making, and because very few Chinese speak English. Also given it's potential position in the world, I don't think that the pressure will be on us to learn Chinese, not the other way round. Finally, you can only learn so much in class. You really have to go to the country, immerse yourself in it, force yourself to speak it. A month studying in the country would be worth a whole degree in a university (although you'd probably learn more theory in university, and they would compliment each other quite nicely). And the comments about picking a language with hot women have some truth to them. The best way to learn a language is to have a girlfriend who (only) speaks it!