OK, since we're wasting our time on the Pointless Editor War, I shall confess I know exactly one thing about Vim, the command `:q!'. That's all I've ever needed to know.
Technoreligious wars are emotional / black-and-white / stupid thinking / herd mentality, a priori. There is more than one way and one tool in the toolbox. You might not "like" every thing, but other things exist, function, and accomplish work.
People who write “our only real option is VSCode” about Python and Go programmers are ignorant of what Emacs can do. Some people may prefer something else, but Emacs is a real option.
As a five+ year Emacs user who primarily codes in Go and some Python, and is aware of eglot, other LSPs, elpy, etc: I fully agree that VSCode is the only real option. If you happen to have a passion for Emacs, as I do, awesome. But it's not realistic to start using Emacs when you need to switch off of another editor. I would never suggest to a new co-worker "try Emacs", though I would be more than happy to help them if they wanted to.
Emacs is an extremely esoteric program, from shortcuts, to documentation, to package management (should you use elpa? melpa? melpa-unstable), to configuration (I love Lisp, but it's much more esoteric than JSON), to bugs (who has regular UI locking as an expected part of the experience, e.g. when using eglot, in 2024?).
I love emacs, and tinkering with it, and will probably never stop using it. That doesn't mean it's a real option for someone who doesn't want to make it a hobby.
As an enthusiast myself I'd be tempted to come to the same conclusion but I'm surprised with the options and learning resources out there how quick some people can get up to speed in Emacs. Yeah, it will probably take a good weekend project worth of time, but it's pretty easily doable to make the switch.
Learning the basics you need is just one part. It takes far longer to get used to actually using what you learned. Whereas switching from IntelliJ to VSCode, you'll need the basic setup and appropriate plug-ins, and then you'll be basically fully up to speed. You'll take much longer just to get used to M-w instead of Ctrl+C.
> Emacs is an extremely esoteric program [with respect to] documentation
I sort of get the other points, but I really don't get this at all. How is Emacs documentation esoteric? Emacs is without a doubt the best-documented application I've ever used. I can't think of a single thing with documentation as comprehensive, accessible, navigable, interactive, searchable, or genre-spanning as Emacs' documentation.
Emacs' documentation is so far from assuming that you already know how Emacs works that it'll literally teach you not only how to use the available configuration options for its built-ins (and any external packages you choose to install) or the language used to set them, or even how to write code in that language, but what computer programs even are.
Someone with zero programming knowledge whatsoever could sit down at a computer with no internet connection, open Emacs and its manuals, and learn everything they need to use, understand, and modify Emacs all the way to the point of contributing their own Elisp code to popular packages or Emacs itself. All that without reference to a single external document or a minute of personal instruction. Emacs documentation covers everything from how to change your colorscheme to what a loop is. How is that 'esoteric'?
I don't think anyone is arguing that emacs is *incapable* of being a good editor for Go and Python. I personally just don't want to. These same reasons are as applicable to emacs as they are to (neo)vim (which I used as my daily driver for a while).
1. I don't really want to bother with a DSL for configuring my editor (even if the language is usable outside of that context for other things)
2. I don't have time to bother with maintaining extensive configuration to get the level of code completion/refactoring/etc that I expect from a modern IDE (nor do I want to have to stop what I'm trying to work on to debug a problem with my config)
3. I don't want to have to research various plugins and stuff to provide functionality that I get out of the box with VS Code (or other editors)
4. I don't want to have a bespoke environment that only I understand when I'm trying to collaborate with my teammates
Don't get me wrong: I think digging into emacs and/or (neo)vim is a valuable thing to do and that everybody probably *should* do it at some point (even if only as an academic exercise), but to assert that they are a viable path for everyone is ignoring the reality that some people simply aren't interested in investing that time/effort into getting their tools working.
One can argue whether or not that stance is a good one or not, but you're just debating personal preferences and priorities at that point.
> I don't think anyone is arguing that emacs is *incapable* of being a good editor for Go and Python.
On the contrary, the article said, literally: ”We are primarily a Go and Python shop, which means our only real option is VSCode”. Meaning they do not consider Emacs to be a ”real” option. This is expressing more than mere personal preference; it is, at best, profound ignorance of what Emacs is capable of.
IMO, emacs isn't a real option when you're talking about a group of developers. The people for whom emacs is a real option likely already use emacs (same with (n)vim), but that choice is made at the individual level, rather than at the team level.
It's unlikely that a given team/workplace is going to roll out dev tooling that is just a pile of elisp. With VS Code, you can drop a couple of JSON files into your project, commit and push them, and then everyone has a preconfigured set of tools that match the needs of that project.