The skill of being able to program is probably more important than the language you use. I have always gone by the rule of thumb that it takes 6 months of daily use to learn a any new language so this can be quite a big investment in time.
However many languages have strength with some tasks, for example the now forgotten language of fortran was fantastic at heavy maths. In today's world of online computing it would not really make sense to use such a language.
My favorite language of all time would have to be C as it is low level and enables me to bypass restrictions posed by operating systems. However development time takes a massive hit as there are so few built in functions for handling simple tasks required in the online world.
The compromise now is C# which is C like but comes out of the box a massive tool set allowing the programmer to drastically reduce development time whilst still offering scalability which is often overlooked by fancy new languages which seem to come out almost every month.
My advice is to look at what is your end goal, what tools will you require to complete your task.
For me I need a language which is flexible, for example I use C# to develop websites, desktop apps and more recently mobile apps. All this without having to learn a new programming environment and syntax and was able to integrate functions I had written for other project cutting down development time further.
You will find there is a lot of programming snobey with regards to which language you use so there is a lot of bad advice out there.