Is Java Really Losing Popularity Among Developers?
weblogs.java.net
weblogs.java.net
Doesn't seem to be losing popularity among employers.
The majority of jobs with newer companies or even newer projects at larger companies tend to involve C#, at least in my city.
For startups developing in Java is probably not a great idea, because startups need to respond to change fast and get things up and running fast, and languages like Python, Ruby, some kind of LISP are way better at that. You can always re-write your application in Java/Scala if performance/scale becomes an issue (a lot of startups dream about having those kinds of problems :D).
See this: http://channel9.msdn.com/posts/C-and-Beyond-2011-Herb-Sutter...
The perfect combination would be a dynamic language for the web server that calls a java based web service for most of the functionality (Jersey rocks)
Every day
There's absolutely nothing stopping any developer from learning other skills and changing jobs. I was an enterprise dev that taught myself Ruby in the evenings until I had enough skill to move away from the enterprise world. I've been making a living from Ruby coding for just over 3 years now (probably worth noting that I'm almost 40 and have 4 kids). Pay is slightly less, but work satisfaction is so much higher is't a joke.
Seriously, your current employer might not let you change, but you don't have to stay with them forever. It's your life, not theirs
[Edited to add: I see comment here about job ads. What I discovered early on is that in the Ruby world, and probably Python et al, most jobs are got via reputation or mailing lists. pretty much never on mainstream job boards]
And as we've seen with a lot of companies, they're certainly not going to stay with you forever.
Sure, that works to an extent. I was a .NET developer and now I work in Ruby and JavaScript. But if I really had my druthers I'd be writing games for a living. But we can't all work for Valve. So it still remains that for many developers they take what they can get. Some aren't talented enough to get the job they really want. Others have other obligations that prevent them (such as families, geography, the economy, etc).
So it still remains that many people code in Java because there are large, entrenched systems written in Java that need maintaining. I of course have no research to support this, but something tells me most developers -- especially passionate ones -- would not choose to work in Java over all other possibilities in 2011.
In some cases, I've seen jobs change their requirements some, simply because they can't find people when their requirements are tied to one specific tech. Not often, but more than I'd have expected.
Overall trend graphs may show one picture, but available people with required skills in a particular geographic area would show large differences in some areas (educated guess, at best, but seems to bear out via anecdotes from friends in my network).
The jobs that change tech requirements to expand the list of people that can use tend to be centered around smaller/shorter projects. A company that's been largely python by default for years may grudgingly open up their job search to php or ruby people, both in hopes that those people can pick up python, but also realize that they'll probably have new systems written in a new tech stack, and that's just the way it goes.
It would be easier for developers to 'go' where the jobs are if the 'going' was more able to be remote, but for many reasons that's still not a reality for the majority of tech workers.
This kind of metrics has limited value. Not only popularity is not an absolute thing, it's also difficult to measure.
Us, hacker news readers, have fun with our javascript, coffesecript, ruby, etc. projects. But if you're in the corporate world you need to pull the heavy guns, not the good looking ones.
Many are saying tat java is the new cobol, that's a good metaphor IMO. And if it is, it's not going to go anywhere.
As for me, I wouldn't mind continuing firing up eclipse every day and proceed with my daily usage of java for the next 5-10 years.