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
- Android uses JAVA
- It is open source, takes no cost to setup.
- From my understanding, you haven't worked in Mobility, which is booming right now.
Well just some suggestions.
what should I learn next
question are off topic here :-). Seriously, the only way I found to be happy in my self learning journey was to first find interesting projects, and then ask myself which cool new technology would help me to make them real.