Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Some of us have jobs and do this professionally, not as a hobby. That’s why we use an IDE. Vim is a fun toy where you can hack together a poor man’s IDE but I grew out of that phase a long time ago.

In some cases we are forced to use a specific IDE. Not optional.



An IDE is largely just a wrapper over terminal commands plus a set of language-specific editing affordances. If your language has a good LSP, vim (with a few plugins) can be all you need in a professional setting.


You could also say that a command line terminal is just a wrapper around the OS's process start function.

But in all seriousness a good IDE is much more than a text editor and buttons which run terminal commands. The main thing a good IDE has is a good debugger, which not only allows for stepping through code easily, but also shows the values of variables, memory, registers, in one easy to use interface.

If you don't use a debugger then either you're only building very simple programs, or you're stuck in some sort of special hell when it comes to debugging.


Oh, true, debugging affordances as well. You can also use a debugger from the command line, though—the IDE is wrapping terminal commands, or at least wrapping a library and providing functionality equivalent to that library's terminal client.

I never got in the habit of terminal debugging, but I'm sure some people prefer it over using a GUI. I'm that way for git: The command line interface is unintuitive, but I've gotten accustomed enough to it that it feels comfortable.


This doesn't track (my) reality and I want to signal to others that this type of development is perfectly viable.

I have a normal job using go + angular/react, lots of databases (postgres) and lots of bare-metal OS shenanigans. I use Vim with 2 plugins. One fuzzy file finder and one for integrating with go.

I've used the JetBrains products daily for many years. These are very slick and I basically regard them as works of art, but I ultimately don't need them (anymore?).

It took many years to get the vim movements into the core of my being and this was indeed quite an investment, but my hands usually move the code now. Sometimes I can just watch them shifting blocks around as I'm barely conscious anymore of the actual physical movements themselves. This sounds like satire I'm sure, but I'm dead serious. This is actually a thing that exists. Not fundamentally different from being unconscious of the key presses when touch typing.

Once you get to this level of familiarity with vim, the shell and the entire Linux or BSD ecosystem things really start to fly and the need for an IDE quickly fades into the background. It is at that point that "why do you need an IDE?" because a serious question.

(Of course this is all moot if you are embedded in a highly specialized ecosystem with its own tools and ways of doing things.)


Yes it depends on what exactly you are doing.

IntelliJ enables quick refactoring of large JVM projects without messing with language servers. It's all integrated and just works out of the box.

IDEAVim plugin provides the Vim keybindings and the Vim editing mode so it's the best of both worlds for me.


lol, this is a good one, made me smile! I’ve definitely met coworkers like that — you nailed the parody 100%. So ridiculously condescending, and yet so common!


OP thinks IDEs are toys. I think Vim is a toy (beyond its functionality as an editor where it is definitely not a toy).

I've been using IntelliJ for at least 10 years now.

If you have used it, you know what I'm talking about.

IDEAVim plugin provides Vim key bindings and Vim editing mode, so it has the best of Vim and an IDE in one application.

Refactoring and navigation in IntelliJ is superior to whatever you can hack together in Vim. You can integrate Vim with a language server but then what's the point? Just use an IDE.

At work we are forced to use a specific IDE. It's a niche programming language not supported by any other software. Vim is not an option.


You can only use IDEA when you need to do major refactoring or debugging, which isn't that frequent on average. There's nothing special about navigation in IDEA that text editors can't do.

IDEs aren't perfect - they often have performance issues, new bugs with every update and do confusing things like marking completely valid code as errors. One of the reasons why I stopped using IDEA after many years of being a fanboy is that I found these unexpected behaviors and bugs getting in the way of actual work. For example, you might reopen your project in the morning to find out that everything that worked perfectly in the evening is suddenly broken, and then you have to spend half the day reinstalling previous versions of plugins and cleaning caches. While editors might be a bit simpler, they're always works reliably.

>At work we are forced to use a specific IDE. It's a niche programming language not supported by any other software.

yes, sometimes is no any choose.


I kind of share your view, but on a lower order of magnitude: I prefer vim, but now that I'm getting older, _neovim_ has come out. And of course it has all this fancy horseshit that essentially makes it look like an IDE. Things like git integration "zen mode", and what-have-you. But every time I've tried to use these "cool" plugins, they never fucking work! Like, if you show these cool screenshots, and represent that if I install them, I get zen mode, git integration, catpuccin color theme, then I expect it to just fucking work. I'm not going to sit there and PLAY with it (i.e. a toy) till I get what was shown to me. I want to crack open the tool and use it.

Another thing that always gets lost in these dev env debates is what language and use-case. I do mostly C++, and most of my time is spent going between 2 or so buffers. I'm not doing something that requires zipping across several unique files per minute. Even if I do need to change files, having a slower mechanism to get there causes me to think more carefully about what I actually need to do there. So the extra 5-10 seconds aren't fully lost.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: