I was an avid emacs user for almost a decade and it only 2 a week with VSCode for me to jump ship completely.
The issue I had with Emacs is that while could get it to do anything, often it took a lot of time. I would often end up spending an entire afternoon or Sunday tinkering with my config to get set up to develop in a new language. Whe I adopted VSCode it took about 20 minutes - install a plug in, set some config. I had a better setup for Elixir in a text editor I had never used before in minutes, after having spend hours achieving an inferior result in Emacs.
The reason for this basically comes down to abstraction levels in a couple of places.
Language support in VSCode is at the 'plugin' level whereas in emacs you usually have to assemble several pieces. Partly this is achievable because VSCode made their own life easy pushing the hard work of language support out using the language protocol. Its widespread adoption in a relatively short time is a great benefit to everyone (emacs included).
I get that, but VS code plugins are generally mediocre at best. If I want a “install plugin and it works” editor, I use IntelliJ, which does a better job at basically everything.
I'm curious as to which plugins you have used to have that impression. My plugin experience with VS Code has been generally great. Far better than any Jetbrains product I've used, I dare say.
It’s surprisingly easy to grind performance to a halt in VSCode using the extensions (even on a modern machine of course) much like using a browser with extensions (but worse).
That said the only reason I use VSCode instead of Vin is when I program in Typescript because the support is outstanding, always cutting edge, and super easy to set up. Code is ideal for frontend js programming in general with lower investment.
Similar to how awesome Emacs was for Clojure and Lisps in general.
But nothing will peel me away from (neo)Vim for generally everything else. I love how fast, portable, and perfectly customized I’ve made it over the years.
The difference with vim vs emacs vs VSCode is probably like the value with the community size and plug-in support. Just like programming languages become great through having great libraries and frameworks and tutorials etc, being popular has tons of value. After simply being good at all the foundational stuff.
> It’s surprisingly easy to grind performance to a halt in VSCode using the extensions (even on a modern machine of course) much like using a browser with extensions (but worse).
The same is true for emacs, or vim or any other extendable editor. Poor code behaves bad everywhere.
But the real surprise is, VS Code usual performance is equal or better than emacs even with an average setup which is still a tad more powerful than whatever emacs offers on a good setup.
A product doesn’t need to be excellent to be popular. Take for example McDonald’s or Burger King. You will not get excellence there. But you will consistently get a filling meal to a quite good price. Or take TV-series. They don’t need to be excellent either to get lots of viewers. They just need to be available and entertaining.
(I don’t mean this as a critique of VSCode. I have never used it.)
I mean, to each their own. Someone else using an editor I dislike doesn’t harm me in any way. But if someone told me that VS Code was “best in class” for anything other than a language I have never touched and have no knowledge of, I’d look at them like they’d just asserted that the sky is green.
well, the same can be said of Swiss martial cutlery...
To connect this a bit back to emacs, I think the big contribution VSC has made is to popularize the language-server concept, which decouples the UI from the automagical autocomplete and context-sensitive documentation we expect from IDEs.
Emacs's lsp-mode and (I'm told, not yet tried) eglot make it possible to use emacs to productively write java, something I won't attempt without tooling support.
The LSP interface, like slime, enables a whole class of interaction, rather than re-implementing the language support for each languge, like in days of yore.
That truly is a modern coding practice, brought to emacs.
As avid Electron hater and someone that found refuge in XEmacs, back when IDEs and UNIX did not mix, it is a matter of defaults and not everyone likes ELisp.
Sure, but it’s not like the choice is between Emacs and VS Code alone. I for one find IntelliJ to be far superior to VS Code for the languages I use. Especially since search and autocomplete actually work, which it doesn’t do in VS Code.
VSCode has the power of free beer, and most major plugins are done by Microsoft, Red-Hat, Google and friends, while most InteliJ goodies are available online on the commercial license.
I wonder how many devs are motivated by that. All of the ones I know are already using OSX, so standing on principle for just the IDE would be incoherent.
Hardly seen outside first world countries, and even on Europe it isn't easily spot outside the rich EU countries.
I did a couple of consulting gigs where the only iMac available for the Dev teams was used in turns for iOS deployments, for applications done in cross platform frameworks, where 90% of development time was spent in Ubuntu and Windows based computers.