Question: I am a Java (Web) Developer. Having knowledge about c#, PHP and Ruby. I am getting confused how to keep myself updated with very fast changing the programming language and their implementation.

Like, in the mobile, you can see around 7-8 OS. There are very much finer example of event-driven programming to make scalable application like node.js, Ember, Require etc.. Then WebSockets, Socket.io, HTML5. 

Python and C once again climbing on the top. Scala and clojure are becoming very popular languages. Haskell and Erlang are also a great language too.. 

With so many programming language and platform, it is sometimes i feel very bad that i am missing some good things in my career.

I am just confused what to learn and how to co-op with this fast-changing world. Please suggest.

Answer: 
> 
> *Like, in the mobile, you can see around 7-8 OS. There are very much finer example of event-driven programming to make scalable application
>  like node.js, Ember, Require etc.. Then WebSockets, Socket.io, HTML5.*
> 
> 
> 

**Try to be a master of one trade (the trade you works with), then try to be a jack of others**. How much you try to learn other things, there will always a sea of new technologies around you which you doesn't know. Don't get disheartened by thinking about what you doesn't know, but think about how good you are in the field you said you currently know. How much of a master you are in the technologies you know and working regularly.

> 
> *With so many programming language and platform, it is sometimes i feel very bad that i am missing some good things in my career.*
> 
> 
> 

True, especially when you see others excellent programmers gives exemplary answers (in forums like this/SO) which you cannot even think about. You kind of think, how on earth they acquire that knowledge. But there is no short cut, they made effort to study them, or happened to work on that technology. With more experience you will get more opportunities to work with other technologies.

> 
> *I am just confused what to learn and how to co-op with this fast-changing world. Please suggest.*
> 
> 
> 

Well, first make sure you are a master at field which you currently working. If you get more time to spent, then choose another language. Since you asked for suggestion and said you already know JAVA, just make an effort in Android. I said this because 

1. Android uses JAVA
2. It is open source, takes no cost to setup.
3. From my understanding, you haven't worked in Mobility, which is
booming right now.

Well just some suggestions.
Perhaps you should do the selection by domain and not by technology/prog language?

What is it that is of interest to you? Databases? Mobile applications? Search? Natural language processing? Big Data (hot right now)? Graphics? Web apps all around? Domain-specific web apps (like social)? GIS? Distributed programming for applications like say, ejabberd for chat? Enterprise middleware? Systems programming? System administration software?

Once you select domain, technology choice becomes natural, e.g. mobile => Java/Android + IOS/Objective-C. (You also have some flexibility re choice of tech there, e.g Scripting Layer 4 Android is becoming popular among some people who like dynamic languages.)

I also second advice of Krishnabhadra on becoming a master in 1 or at most few subjects.