8 ms·
I wonder how many users Emacs has lost to VS Code over the past few years. I'm one of them. Feels sad. And also potentially shortsighted.
by lysace 2y ago
I wonder how many users Emacs has lost to VS Code over the past few years. I'm one of them.
Feels sad. And also potentially shortsighted.
- uludag 2y agoThe percentage of the pie is smaller, but the pie has grown so much larger that in absolute numbers, there may not be any decrease. > And also potentially shortsighted. Looking at the recent releases, it feels like the vscode enshittification has already begun...
- nickysielicki 2y agoIf vscode could replicate the fuzzy-search -> filter -> collect-to-buffer flows that I'm used to with emacs, I'd be right there with you. I don't think there's an argument to be made that we're at risk of losing something. So much of editor progress in the past ~years is shared -- treesitter, lsp backends, linters and snippets, etc. It's hard for me to imagine how the editor ecosystem could collapse.
- magical_spell 2y agoCould you elaborate on those flows? Sounds useful. Is it vanilla Emacs?
- nickysielicki 2y agoIt’s very hard to describe without a visual but the gist of it is that the combination of the following 3 packages make it possible dynamically create queries, refine the results to precisely what you want, and then either perform some action on them or just plop them into a buffer for later use. There’s some notion of a type of the result, which means that the actions and results can be richer than just plaintext. Ie: you can imagine a query over a list of commits, where it displays while you’re searching as only the commit shortrev and subject, but where you can viably define a filter on the commit date or commit author. You can then export that list to a temporary buffer, and pressing enter on any given commit will show you the full diff and the full commit message. Orderless means you’re not crafting regexes directly, but just some combination of words in any order or casing. Another example: grep in the current project for any function matching foo bar baz in any order followed by an open paren, restrict the search to only header files, export to a buffer, run search in replace in that temporary buffer, review the changes, then commit the modification to disk in every matched file with a single keystroke. https://github.com/minad/consult/ https://github.com/minad/consult/ https://github.com/oantolin/orderless/ https://github.com/oantolin/orderless/ https://github.com/oantolin/embark/ https://github.com/oantolin/embark/
- f1shy 2y agoIs a matter of time until it will be enshitified, and they come back…
- lysace 2y agoI guess there are two aspects to the the typical process of MSFT enshittification: a) lack of regular revenue leading to bizarre product management choices (probably not a case, because of GH Copilot subs) b) initial really talented team members gradually being replaced by bozos because of entropy and/or management (work on something new/important) I suppose b) is the most obvious risk.
- devjab 2y agoI think option A is actually part of their problem. Not because they lack revenue but because they are successful with it. You mention Copilot but VSC integrates with a lot of Microsoft owned cloud services as the “default” or “first class citizen”. I’m not sure why people would use the Azure extensions over the AZ cli, but they are obviously rather popular. It’s a lot like how Google search became the default search in a lot of products, except here it’s GitHub, Azure and so on. On top of that they get some wild telemetry. Your privacy data is obviously safe, but the metadata they collect goes right down to your project structure. So Microsoft knows what sort of projects and in what sort of languages everyone uses. They know what you’re putting into your Azure cloud and they know if you’re not using Azure. I imagine these things are rather valuable to the biggest tech company in the world. Obviously they’re going to focus their development on upselling Microsoft products to you. Which will only get worse as they succeed more and more. Because why wouldn’t an enterprise company do that?
- iLemming 2y agoYup. The prospect of having to someday switch to VSCode unnerves me. It's not because it's technologically inferior to Emacs or because of my habits, muscle memory, dogmas, or childhood traumas. It's because of Microsoft. I just can't blindly trust the good intentions of a mega-corporation. A behemoth that expends huge amount of resources constructing a modern code editor packed with numerous features that they then offer at no cost. When I used IntelliJ and paid for it, I understood precisely what I was buying, I understood their revenue model. Then I switched to Emacs - which is only theoretically free - as it cost a substantial amount of time, dedication, and energy. I still understand who benefits from my choice - the community, me, and the wider industry too. Every time I activate a VSCode instance, I'm unsure of the exact cost that I'm incurring. It already felt like a hostage situation when they took over GitHub. If everyone is now must become a VSCode user, I don't even understand how people don't realize how dystopian that is.
- devjab 2y agoI’m genuinely wondering why you would chose VSC over emacs. Granted, I’m on doom emacs and it’s mainly because I’m too lazy to config Neovim, so it’s not like I’m really a purist. I even use VSC occasionally when I’m in a context on my lovely windows work computers where I don’t have access to WSL, but it’s such a horrible experience. It’s slow, the plugins are ass and the LSPs are horrible for basically anything which isn’t Typescript. I don’t even think VSC is “that” bad despite what I made it sound like, but it’s probably as temporary as any other modern IDE. In a few years “every” VSC user will probably have moved on to Zed. Meanwhile your emacs (or vim) dot files will setup the only IDE you’ve ever used on any machine.
- lysace 2y agoI started using GNU Emacs in the mid 1990s. I like the ergonomics of the interface. It's muscle memory since long. I tolerated the LISP aspect. In VS Code I use the "Awesome Emacs Keymap" extension by Yuichiro Tachibana (Tsuchiya): https://marketplace.visualstudio.com/items?itemName=tuttieee.emacs-mcx https://marketplace.visualstudio.com/items?itemName=tuttieee... What won me over? GH Copilot + the overall packaging. It just works. Good, polished UX. Emacs needs to catch up on this front.
- BeetleB 2y agoCopilot is available on Emacs, but yes, a lot less polished.
- arrsingh 2y agoI've been using emacs for 30 years and have tried VS code several times but the muscle memory on Emacs has prevented me for switching. I've gotten LSP on emacs working well enough but the performance just isn't there. So today thanks to your suggestion I tried it once more with the Awesome Emacs Keymap extension and right away I ran into not having dired mode to switch files. A quick google search got me vscode-dired (incase anyone else runs into it): https://marketplace.visualstudio.com/items?itemName=rrudi.vscode-dired https://marketplace.visualstudio.com/items?itemName=rrudi.vs... Quick Tip: I set C-x C-d, C-x C-b and C-xb all to call extension.dired.open per this stackoverflow: https://stackoverflow.com/questions/62235792/how-to-add-multiple-keyboard-shortcuts-to-one-command-in-vs-code https://stackoverflow.com/questions/62235792/how-to-add-mult... that seems to satisfy the muscle memory... and it seems at first glance that this time the switch to vscode might actually stick. (thanks for the link to the emacs keymap extension) We'll see how it goes! edit: After even 5 minutes of building some rust code I ran into too many issues! I love the syntax highlighting in VS Code and everything else but I have way too much custom elisp to build and debug Rust/Go/C++ and recreating all that in VSCode or learning the new bindings is a bridge too far! I would pay real money to someone who would build an amazing performant experience for emacs. Sigh.
- Lyngbakr 2y agoI was an Emacs user for years, then discovered Helix. I tried it on a whim and it turns out that I really enjoyed a modal editor that requires minimal config. I'm not sure if it's due to my an age, but I no longer want to constantly tweak my setup and just want a solid out of the box experience.
- seanw444 2y agoYeah if I'm on a machine that I isn't my primary system, and I don't want to spend forever configuring my whole setup, I use Helix or (Neo)vim.
- BeetleB 2y ago> I wonder how many users Emacs has lost to VS Code over the past few years. I'm one of them. I think Emacs users care more about the total population than one particular outmigration. I don't have actual data, but if I compare to the amount of activity (blog posts, tweets/toots, packages, etc), then (heavy) Emacs usage seems to be monotonically increasing. Almost everyone I know who switched to VSCode was using Emacs primarily for work, and mostly limited to SW development. That category of users may be large in absolute numbers, but most of the Emacs ecosystem is not driven by that category (i.e. even if that category shrinks to a tenth of its size, it won't have any impact on Emacs development). Just take a look at the talks in the conference. The vast majority are orthogonal to SW development/programming.
- deleted 2y ago[deleted]
- lawn 2y agoI think your analysis applies to Neovim too.
- lysace 2y agoNon-programmer usage of neovim outweighs programmer usage?
- lysace 2y agoAre you saying that most emacs users aren't in "SW development/programming"? Of course not. Would someone not very carefully reading your comment think otherwise? Yes, probably.
- b1476 2y agoI’ve tried twice to make the move to VS Code and keep coming back to Emacs. I would often be overwhelmed by my obsession to tweak things (ADHD..) but switching to Doom Emacs and sticking to the standard config helped with that. Learning some Elisp to write custom functions and embracing org-mode has made it near impossible to switch to another editor now.
- kstrauser 2y agoI was one of them but I went back. It’s just soooo good, and VS Code sits in my uncanny valley of almost-but-not-quite native in a way that bugs me.
- ParetoOptimal 2y agoI tried vscode, but couldn't picture leaving emacs for it.