Published Dec 22 2024

Race Cars Vs. Bentleys

I have a theory: The further you get into your development career, you commit to one of two paths. Full fledged IDE, or low level terminal editors.

The decision is largely based on personality, and there isn't a wrong option.

I recently started trying out neovim after using VSCode for most of my career. Diving into the tool and the community got me thinking about why someone would choose a tool like this. Why would I choose a tool like this?

I've tried IDEs in the past. PHPStorm for PHP and Laravel development, NetBeans when I used to do Java, and Visual Studio for C++ and C#. I always ended up coming back to VSCode because the 500ms lag of autocompletion, or having to reach for my mouse to do basic tasks always bothered me.

I like convenience, but my definition of convenience is very different from someone who likes IDEs, and that's fine. Convenience to me is not having to move my hands back and forth between my keyboard and mouse. Not having to de-bloat my UI by hiding twenty elements I don't need. Most importantly, not having my editor lag while I'm writing code.

The Bentleys

IDEs give you everything you need to develop with a smooth and tight integration. Run tests, access your database, refactor, find references. Who wouldn't want that? But what you gain in convenience you give up on speed. Maybe you don't care about going one hundred and fifty miles an hour though, as long as you get there. And you'll get there in style and comfort.

The Race Cars

If you want to go fast, you strip out all the unnecessary components. Why have one tool that does everything just alright, when you can have multiple tools that do one thing really well? Those in the camp of using terminal editors like neovim and helix just want to go fast. They don't care that their editor doesn't have a button to run tests, because by the time you click it they already switched to their tmux tab and ran the command they needed. By the time your autocomplete suggestions become visible, they already refactored the entire file in a few vim motions.