Which programming language to choose?
Language should be a means to an end.  Pick a project you want to work on, then figure out what you will need to know to get the job done.  It's very difficult to get any language-learning to stick without some practical application.  
And "knowing a language" is not particularly difficult or useful.  Knowing how to use most of the important libraries and platforms associated with a language is usually much more time-intensive and useful.
As far as picking a project if you can't think of one, maybe try for something on a mobile platform -- Android / iOS / Windows Phone.  These are generally useful for learning not only a language, but a complete set of tools to take an idea from concept to published.
I am a 3rd year CS engineering student, I have done some basic programming in languages like C,C++,Java,Shell,Perl,PHP,Ruby on Rails, Python. But now I wanted to settle for one language, so I thought of finally mastering one scripting language and other compiled one. So I decided to stick with C++ and Python. Can someone suggest me, would these be sufficient for any kind of programming, or for web designing I should stick to ROR?