I've been using Emacs for over 15 years now and I do almost all my work in it.
I code in C so can't speak for C , but I imagine it works well for that too: irony-mode as a backend and company-mode as frontend.
It pretty much gives the Xcode auto-complete experience, and I think it works great!
My one complaint is that clang's MSVC mode is imperfect, and sometimes suggests some strange things (or produces some false negative/positive in syntax checking).
But they've been getting much better lately and it's never caused me much pain.e: also, second what a sibling said - combo this with flycheck-mode and you have yourself a full-blown C IDE in emacs ;) I tried irony mode, but my autocomplete pop-ups would contain all kinds of nonsense, and I noticed at least two other issues on the irony mode github page that showed other people with the same experience as mine, on Mac.
If someone was to rethink the problem from the ground up and solve it in an elegant and efficient way my life would be complete.
Emacs features vary wildly in support from language to language - in Go, for instance, it's very easy to get both those working, while in Java it requires something more complicated such as eclim.I've tried several and never really found them stable or even working in some cases.I write a couple thousand lines of C every week in emacs and I've actually become very productive without auto completion, so perhaps I'm not missing it anymore at all.company-mode is by far the best completion frontend, but the quality of the completions is dependent on how good the backend is, which varies a lot. It basically takes the power of eclipse and runs it in a lightweight daemon, then ports most of the features (auto completion, refactoring, automatic imports, etc) directly to emacs.I actually switched back to Rstudio, which has everything ESS has to offer (eg helm style autocomplete) plus much better autocomplete for tidy verse pipes. I have not really used Rstudio, so I can't compare.Packages are a mixed blessing because they add so much, but if the person who wrote it stops working on it, you now need to take over or find something else.