A Change is on the Horizon
One of the noticeable differences between a great programmer and bad programmer is their interest in learning new languages.
Learning a new programming paradigm helps to stretch your mind and makes you a better programmer overall, even if you never directly apply any of the new techniques. Notice I’m talking about paradigms here, not languages. Learning C++ if you know Java may make you a lightly better programmer over all, but going from Procedural programming to OOP for example, can be a mind-bending experience. – Arsalan Zaidi
When a new programming paradigm is accepted, the entire landscape of computing changes. The very reason why Java dominated our industry in the last 10 years is because of the adaptation of Object Oriented Programming (OOP)
Now the trend is moving from OOP to what we call Dynamic/Meta Programming. The languages like Ruby, Groovy and Python belong to this category. They are already making a big impact on enterprise software development.
There is another trend is moving towards Functional Programming. This includes languages like Scala, Erlang and Haskell. They are interesting but suitable for writing scientific applications.
Start learning at least one or two languages from the above list. Even if you are not going to use them in near future, at least, it will help you to become a better programmer.
If you have any problem in selecting a new language, then few more to choose from
