Choosing a code editor in 2024
Recently I’ve decided to switch from VS Code to Zed. I’ve been using VS Code for several years now, and before that I was on Vim. And even before that, I was using Sublime Text. And even before that, I was making my first steps in programming with Notepad++. The funny thing is that I could have still been using Notepad++ and I would have been just fine. So why keep switching?
Because it’s fun
Trying new things is fun. And a new code editor is a relatively low-risk way to try something new. It’s not like you’re switching careers or moving to a new country. It’s just a code editor. And if you don’t like it, you can always switch back.
As I already mentioned, which code editor you use doesn’t matter that much. Yes, I would have been slower in Notepad++. But I would have still been able to write code. And if you spent enough time in the industry, you know that writing code is a relatively small part of the job.
So why not try something new? Just for the sake of it.
Because it gives you a slight edge
If you asked me for a rough estimate of how much time modern code editors save me, I would say about 30%. In other words, I would say that a good code editor makes me 30% more productive. That’s not a 10x improvement, but it’s still a significant one.
Integrations with LSP (code completion, hints, go to definition, etc.), Git utilities (diff, blame, etc.), formatting tools like Prettier and gofmt, and dare I say it, LLMs (Copilot). All of these tools make me faster. And I have to say that at this point, I’m rather addicted to them.
Sometimes I have a slight nostalgia for the days when I had to type every single character myself. And the only help was from the documentation. But I’m still quite happy to trade that for the speed and convenience of modern tools.
Because it’s useful to update your mental patterns
I’ve been using VS Code for a while now. And I’ve gotten quite good at it. I know all the shortcuts, I have a bunch of plugins installed, and I have a good workflow. And switching to Zed has broken a lot of my familiar patterns. And that’s a good thing IMO.
I think trying new tools is like traveling to new countries. It broadens your horizons, it makes you more adaptable, and it makes you more open-minded. And it’s a good thing to do from time to time. Plus I hope that it does some good for my brain, keeping me from becoming that old mentally rigid programmer that has hard time adapting to new technologies.
Why Zed in 2024?
Ok, so why am I choosing Zed in 2024? There are a couple of reasons:
-
I wanted a rather minimalistic and lean editor with a small memory footprint. Zed fits the bill. If you trust the official benchmarks, Zed is only slightly behind Sublime Text in terms of performance. And at the same time, it packs a lot more features, that I find useful.
-
I wanted a code editor that is well integrated with modern tools. Zed has first-class support for LLM assistants, which is a big plus. Let’s face it, LLMs do more good than harm. And I’m happy to have them around. Zed also has a good Git integration (and it’s getting better) and a solid LSP support. Which we all take for granted these days.
-
I wanted a code editor that doesn’t rely on a ton of 3rd party code. I like Vim as a philosophy, and I’ve spent a couple of years using Neovim as my main editor. But I’ve also spent countless hours configuring it, installing plugins, and debugging different issues. Vanilla Vim experience is really bare-bones. And to get all those nice features that I mentioned above, you need to install a ton of plugins. And just like any project with dozens of 3rd party dependencies, it soon becomes a maintenance nightmare. In contrast, Zed provides a pretty good out-of-the-box experience. So far I only had to install a couple of plugins and change a couple of settings.
Things I’m not sure about
-
I’m confused about the collaboration features. Zed has some interesting collaboration features. But I’m not sure how useful they are. I rarely need to collaborate on code in real-time. And looks like it was a big focus for Zed. Not sure how this will play out in the future. Maybe the team are real visionaries and they see something that I don’t. Or maybe this feature-set will be a dead weight. Time will tell.
-
Is it economically viable?. Zed is a commercial product built by a team of professionals who need to make a living. It doesn’t have a big enterprise backing like VS Code. And it’s not a community-driven project like Vim. I’m not sure how this will play out in the future. I hope that Zed will be around for a while. But at this point, it’s hard to say.
Conclusion
Go ahead and try a new code editor. It’s fun, it gives you a slight edge, and it’s useful to update your mental patterns. And if you’re looking for a recommendation, I would say give Zed a try. It’s a rather minimalistic and lean editor with a small memory footprint. It’s well integrated with modern tools. And it doesn’t rely on a ton of 3rd party code. Plus it has some interesting collaboration features, which I’m not sure how to evaluate yet. But anyway, it already has everything you need to make it your main code editor.