Remix.run Logo
grayhatter 2 days ago

> You complain about UI not keeping up with key strokes. As a counterexample I point out Visual Studio Code. It's UI is not as snappy as native GUI frameworks, but we have a top notch user experience that's consistent across operating systems and desktop environments. That's a win, isn't it? How many projects can make that claim?

Is it a win? Why? Consistency across platforms is a branding, business goal, not an engineering one. Consistency itself doesn't specify a direction, it just makes it more familiar, and easier to adopt without effort. It's easier to sit all day, and never exercise.

It's what everybody does, or it's what everybody uses, has never translated into it being good.

Notably; the engineers I respect the most, and the ones making things that I enjoy using, none of them use vscode. I'm sure most will read this as an attack against their editor of choice, SHUN THE NON BELIEVER! But hopefully enough will realize that it's not actually an attack on them nor their editor, but instead I'm advocating for what is the best possible option, and not the easiest to use. Could they use vscode? Obviously yes, they could. They don't because the more experience you have, the easier it is to see that bloat get in the way.

robenkleene 2 days ago | parent [-]

> Notably; the engineers I respect the most, and the ones making things that I enjoy using, none of them use vscode.

Curious what they use?

d0lphin 2 days ago | parent [-]

Not OP, but a surprising number of senior(+) engineers at my company use default vim or neovim (no plugins or customizations)

locknitpicker 2 days ago | parent | next [-]

> Not OP, but a surprising number of senior(+) engineers at my company use default vim or neovim (no plugins or customizations)

That's fine. They could very well be using the tool they always used. Support for vi bindings is not the best everywhere, and vim works also through terminal connections, which is great if you need to ssh somewhere to edit a few files.

If you have to work with anything related to TypeScript or even JavaScript, you need to think long and hard to figure out what you're doing if your first option isn't vscode.

lkirkwood a day ago | parent [-]

... why? What does it offer that literally any other IDE does not? Genuinely asking.

grayhatter a day ago | parent [-]

Nothing, but that's the point.

There's the engineering maxim, which I completely, and unequivocally support; that perfection isn't achieved when there's nothing left to add, but only when there's nothing left to take away.

But that's not enough to explain why it's the preferred editor for elite tier eng.

The thing it offers, in contrast to everything else, is simplicity. Everyone loves to pretend that vi is so difficult o that it is impossible to quit. But if you can forgive it's steep learning curve, it does provide an accelerated experience. And then, critically, it's already out of your way.

All experts advocate the idea behind the quote, "if you give me 6 hours to cut down a tree, I'd spend the first 4 sharpening my axe" Learning the keys of vim is that same sharpening.

I used to use sublime text, my primary reason was because it was fast. That means it got out of my way.

Today, I use neovim. And I've never bothered to set up tab complete, nor anything else like it. It does take me, about 2 extra seconds, per meaningful code block, to type the extra characters needed. But in trade for those tens or milliseconds. I'm granted the intuition for the name of the exact stdlib function I want to call. It lives in not just my head, but I also have developed the habit of understanding the context behind the call.

The feature neovim gives to it's users, it the intuition and the confidence to reason about the code they've written.

There's a lot of anxiety going around about the future of software development, related to AI. The people who have invested the mental energy of learning vim aren't worried, because it's exceptionally obvious that LLMs are pathetic when compared to the quality they've learned to emit naturally.

Or, more simply; if you're the type of person who's willing to invest the mental effort to become good at something. Vim is engineered to make you even better. Contrasted with vscode which has been engineered to make it easier to type... but then... all that time spent has only made you good at the things AI can already do.

tldr; vscode improves the typing experience, vim improves the thinking experience. AI isn't coming for the jobs of the thinkers...

fragmede 2 days ago | parent | prev [-]

Heads up that if you're on macOS, the included version of vim, like bash, is frickin ancient. If you run into problems with vim being slow, you may want a newer version.

Homebrew's got you covered though!