I love emacs, but it seems like most of my programming for pay is trending towards languages where there is a huge advantage to using a "modern" ide. I'm talking mainly of java/jvm languages and objc here.
I don't expect emacs (the community really) to all of a sudden provide awesome packages for that type of development, but it saddens me that I get more locked in to these other ides that I don't view as generally superior.
At least for Java (and probably most other languages) (emacs-)eclim can leverage Eclipse functionality (for Emacs, Vim, ...). So you'll get the same completion, refactoring methods and so on.
It would actually be cool to have a ninite.com for Emacs configurations, where one could choose from the best pre-configured crowd-sourced Emacs versions for several use cases and platforms (e.g. web-design, Java-programming or reproducible research). Sure, extending Emacs from scratch is fun, but many people are probably reluctant having to spend many hours to achieve a good configuration because they are not guaranteed to benefit from the result.
But you then need eclipse installed also right? I use intellij for my java needs and it makes me content the bulk of the time. Having used emacs + jdee back in the day I'm afraid of the lost hours to trying emacs+<insert hack here> again.
Yes, that's also one of the reasons I didn't pursue this, the other one that I wanted to be able to use other peoples machines (including shortcuts etc.) as well.
It's a tradeoff; Eclipse has a lot of understanding of the different languages, which seems to me is not really worthwhile to rebuild in Elisp if you can just reuse it this way.
I work on Android at Facebook. I write a ton of C++ and Java for that environment. I use Emacs to do it and have no problems aside from the occasional cc-mode bug.
Then again, I don't care much for autocompletion. I started on a IntelliJ Emacs integration a few months ago: the idea was to run Rhino in an IntelliJ plugin and have IntelliJ and Emacs talk to each other using JavaScript. I got as far as getting completion working, but decided I didn't need it. If there's a real need, maybe I can dust off this "bad-idea mode".
I don't expect emacs (the community really) to all of a sudden provide awesome packages for that type of development, but it saddens me that I get more locked in to these other ides that I don't view as generally superior.