I think we're stretching the definition of "fad" a lot here. Editor being one of the most popular for 10 years (not yet there, but will be for sure) can't be considered "fad".
>Similar to those who were all-in on Eclipse, Atom, Sublime?
But all these (except sublime) including vscode are basically the same type of IDE. Yes, implementations change, but their share of the "market" remains about the same.
The two URLs I provided don't convince you that this isn't a fad? Of all the SWEs I know, every single one who previously used Eclipse, Atom, or Sublime is now using VSCode. Some of my Emacs & Vim friends have switched, too. I can't imagine what would change this trend in the next 5-10 years. Perhaps a new editor with an integrated LLM coding assistant that's FAR ahead of all competitors? Except VSCode is currently leading there, too.
VSCode is here to stay. After eight years it is by far the most popular programming editor and only becoming more so. The sun was already setting on Sublime and Atom by this long after their initial release.
Indeed, but VSCode is "sticky" in the way those other editors are not. It now has a critical mass of developer interest such that language and framework developers now put out tooling for it first (if it's not the only editor with official support). Other editors will have to make do with third-party tooling from a dwindling pool of contributors, falling farther and farther behind the state of the art.
I agree that sublime is a fad and maybe atom. Sublime’s biggest mistake imho way their proprietary model combined with a plugin system, it’d probably be better to either make it free or make it very ease to use. I don’t see eclipse or VSCode as fads though. To my knowledge eclipse is the only way to develop Java code on Linux platforms without paying for richer tools (let’s face it, eMacs or vim doesn’t have much support for Java). Also Microsoft seems very invested in VSCode
VSCode is not a fad - it has huge support from Microsoft, is the most popular code editor by far, and is a very good tool that's beginner friendly and allows for customisation. It is already almost a decade old. Visual Studio has been around since 1997 so there's a good chance VSCode will be around for a good few years too.
Eclipse and Sublime do still exist and receive improvements. And VS Code is at the moment far too big to fade away in the next years, maybe even decade.
I used Emacs for all development work from about 1990 to 2018. About 28 years of development work in a dozen different programming languages. I also used Emacs for reading Usenet News and my email. I also used it for calendaring, planning, tracking work and a few other things.
Gnus made Emacs a great Usenet news reader, but I could never get it to fit with my email regimen. And eventually Usenet died too. For about a decade I used a mail client that someone else originally wrote, but which I modified over the years to do email like I wanted to. But this became really tedious to maintain alone so I have up.
Along the way I tried various IDEs like the tools from IntelliJ and Eclipse. None of them took. In fact, I figured it had to be me, so I promised myself to spend a few months every 2-3 years or so trying to get used to IDEs. (I still can't stand the IntelliJ and Eclipse tools).
I think what made me switch to VSC was that I eventually grew tired of the constant annoyance of having to fix my setup so it would be reasonably useful for Go development. Emacs support for the Go language server was slow and shaky, and eventually I got so tired of having to make a patchwork of Emacs packages work that I gave Visual Studio Code a second chance.
And the second time around it stuck. I'm not entirely sure why it stuck, but it did. It's been 5 years and I'm still using it. And I'm still not entirely sure why. I think it is mostly that I'm a programmer - not an editor enthusiast. Emacs was a pain in the neck to keep running when I switched. I liked Emacs, but VSC has better support for just about any language you care to program in.
I ditched Emacs because I'm interested in writing code. I'm not interested in spending a day figuring out how to keep barely working Go support running so I can get work done. It's a tool. And when maintaining the tool starts eating into my productivity, it isn't worth the effort.
The problem with Emacs is that it doesn't have a sufficiently large community. Which in turn means that if you are interested in creating tooling, your efforts will have a much bigger payoff if you choose something millions of other developers use. This is a vicious cycle.
Last I checked, VSC had about 14 million users. Out of a global population of 25'ish million developers. That's slightly over half the global developer population. That's a pretty big market. I think a fair guess (given the stack overflow surveys) is that less than a million people use Emacs as their primary development environment. Which I find surprisingly high, but it should give people hope.
Is VSC a fad? Who gives a crap? What matters is that, for me, and for a lot of other people, it is a better tool than Emacs. Because it is. If VSC is replaced by something else that works even better, and VSC disappears: who cares. Better tools is a good thing. Getting overly attached to tools that offer less is just weird and unproductive.
Maybe VSC will worsen over time. In which case I'll move to whatever is a better alternative when the cost of moving feels lower than the cost of continuing to use it. Just like what happened when I stopped using Emacs.
I'm assuming that "you'll be back" means I will start using Emacs again for programming.
Well, for that to happen Emacs would have to provide a better programming experience for the environments I care about than VSC does. Right now it doesn't. If or when it does, I might consider it again.
I did the exercise of installing Emacs 29.1 yesterday and trying to set up a Go programming environment from scratch. After about one hour of head scratching I had something that barely worked and I wasn't entirely sure how to get it all the way there. That's not a good user experience. It is going to be an even worse experience for someone who hasn't been an Emacs user for a few decades.
It would make me happy if Emacs was a better alternative. It just isn't. If someone has the time and commitment to fix that I'll certainly consider it, but we know that at best, that's going to be years away.
configuring vanilla emacs from scratch is certainly a lot of work. There's various distributions (Doom emacs, Spacemacs) that while not perfect have a pretty decent 'new user' experience without too much work. I don't use Go too much but I've done some projects in it. I just uncommented (go +lsp) in Doom's init.el, ran doom sync, restart emacs, and everything just worked, I didn't feel that need to configure anything further.
There will always be an editor which is an order of magnitude more popular than emacs or vim, because it is an order of magnitude better. It doesn’t much matter which one it is. People will switch to it, and be productive. And when something better comes along, they will move to that.
I strongly disagree that any editor will be an order of magnitude better than Emacs or Vim. Some new editors will be better in certain ways, or add cool new features before Emacs/Vim do, but there's nothing completely better than them. I doubt there ever will be.
Emacs requires fiddling. Once you get past a certain age, you no longer want to fiddle with your tools; they should just work. A tool that just works may well be therefore orders of magnitude better than Emacs.
I think that downplays how much fiddling other tools take. I've never used another similarly powerful editor that didn't require similar amounts of configuration to be useful. And if getting some random plugin working means you have to tweak its code, it's almost certainly going to be fast and easier in Emacs than in the other. With Emacs, you can generally just replace a function after its been loaded. In other things, you may be forking a repo, editing/compiling it, and figuring out how to get the editor to load your version of it.
> In other things, you may be forking a repo, editing/compiling it, and figuring out how to get the editor to load your version of it.
This is more a theoretical problem in VSCode. If you just want to start programming using a mainstream language or framework, in VSCode it's literally a matter of saying 'code .', downloading whatever extensions it recommends for the language it autodetected, and starting work with autocomplete, debugging support, and all that ready to go.
Read @bborud's comments in this thread. He had been using Emacs for even longer than I, and he switched to VSCode and is not looking back. Because Emacs requires fiddling to keep running and VSCode does not. And that makes VSCode better.
The experience with distributions like Spacemacs, doom emacs or lazynvim really isn't that much worse than vscode, you select the language you want to code, it installs a reasonable set of plugins and you get to work.
https://survey.stackoverflow.co/2023/#section-most-popular-t...
https://trends.google.com/trends/explore/TIMESERIES/16907280...