...And I think the phrase "mediocre" is where we disagree. Java is perhaps the worst example, but there are languages whose emacs modes are simply unbeatable. The lisps, in particular, but there are others. And if the tools aren't good enough, they can be improved.
Give a man an IDE, and he'll have the tools that IDE provides. Give a man Emacs, and he'll have whatever tools he wishes.
OTOH, you may well have ended up more productive for the kind of work you do. Your tools, your choice. I am willing to respect your decision.
Showing respect for the subjective deserves, well, respect. But it is the insight into the objective that is interesting, and I think that it should be recognized as a law of Nature that if something (or someone, for that matter) is trying to be good at everything, it (or they) is bound to be not very good at anything in particular. I am not seeing, for instance, how emacs can come even close to what IntelliJ has to offer to Java developers - short of having a faithful IntelliJ clone written in elisp, of course.
Ouch. I did my best... I shall try harder next time.
My point was that while Emacs certainly isn't as capable as IntelliJ is at the moment, It's possible to build those features upon IntelliJ. An attempt to build Emacs's featureset on IntelliJ, OTOH, would crash and burn.
Emacs doesn't try to be good at everything - not in the conventional sense, because Emacs is a platform. There's a lot of software built atop it, but they're all really good at one thing: Paredit isn't Org, which isn't Geiser, which isn't Flycheck, which isn't etags.
FWIW, I've thought this whole exchange was both useful and respectful, even though we obviously disagree. :)
IntelliJ is a good example, because you're right, you could extend Emacs to have a looks-and-works-exactly-like-IntelliJ mode. But now you've got two jobs, writing your Java and developing and polishing up your editor in elisp.
Or, for my current favorite editor, Visual Studio Code, immediately upon launching it you get intellisense via Omnisharp, really decent git integration, all the integration you'd need with dotnet core, and a ton of convenient stuff like search/replace across the whole project, refactoring that works well for C# project, etc.
Could this all be reproduced in elisp? Absolutely, I have no doubt. Has anyone put together a package to do so? Nope, though of course there are disparate packages to solve/simplify/address these things. Will anyone create one package? Nah. Will anyone bring it up to the level of polish that VSC provides out of the box? Definitely not.
Much as I like Emacs, and I really did, when I started trying out new modern editors I felt like I'd been living in a cave.
Actually, just writing this all out has made me realize that the biggest dealbreaker for me is the lack of polish. Seeing what a modern dev experience is like, I couldn't go back.
Yeah, I don't mind the lack of polish as much as you do. And I primarily work in scheme and lisp, where there's not much out there that can beat emacs (apparently, there are a few that people swear by. If you have a couple grand on hand, you can try them). The write/eval/test loop is so short and clean. And there's integrated documentation and tab completion.
Give a man an IDE, and he'll have the tools that IDE provides. Give a man Emacs, and he'll have whatever tools he wishes.
OTOH, you may well have ended up more productive for the kind of work you do. Your tools, your choice. I am willing to respect your decision.