There is a common wisdom that a programmer should learn a new programming language every year. I think that would be too much and after a certain number one wouldn't benefit much from the next language. I agree in that one should know several different languages in order to see different ways of expressing and solving problems and to use that experience in their working environment. "Several" is not a specific number, but it is not less than 3 and not more than 7. Probably a wisely chosen five languages should be enough. Here is a way to group the languages that I believe can help in the process.
The basicsC or C++ with a touch of Assembly. Without these you will struggle to see and understand what's happening in the background when you use a higher level language in the future. You don't need to be proficient in any of these, but you should get to the level where you understand what happens on the stack during a function call and you can implement the basic data structures and algorithms with some performance constraints. On this level you are forced to think about the efficiency and this understanding comes handy in the future when a mere decision between HashSet and List will makes or breaks the efficiency of your code.
An OO languageC++, C#, Java. Pick one, master it. Learn the platform not just the language. Learn and apply the OO principles.
A scripting languagePython is an obvious choice here, Ruby is another one. Perl, shell script and probably some dozen others are also on this list.
A functional languageHaskell, F# or Erlang. Haskell is THE language to learn if you want to master the functional programming principles. If, however, you plan to use the language for work then you are better of with F#. And there is Erlang somewhere in between.
How to choose
If you want to choose your one language then you are reading the wrong blog. So you want to choose your nth programming language. First of all you should choose one that you like: you like the community, you like the company that controls the platform, you like the syntax, the libraries, the frameworks and the tools. One should not learn a language that they don't enjoy using. My second advice is: diversify. Choose from a group above that you have no experience with yet. My next one is Haskell.