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

Vim is a not an ide. Intellij with java is worlds apart from any vim setup I've ever seen in the wild.


That’s because writing Java all but requires a giant, heavy ide. Like IntelliJ, eclipse or netbeans, and always has. Vim + lsp for basically any other sane language is good enough.


You can keep telling yourself that, it doesn't change the fact that IDEA beats any plain text editor for working with code in any language I've ever seriously tried.

It's not just Java. I used vim/neovim for about a decade on and off, and then went all in on neovim for about a year (because I honestly wanted to see what's on the other side), forcing myself to believe that lie in spite of my experience screaming the opposite the whole way, but eventually came back to IDEA because it's not “good enough” if you know both of them well.

One works with code on the AST level, understands the whole project at once, and is developed as a monolithic project (not really — IDEA is very modular and is built as separate components, but they integrate so well you don't feel it).

The other works with text in currently open files and has smart features tacked on the side through language servers of varying quality (the best of which have 10% of functionality supported by a comparable IDE). The difference in how they behave and what you can accomplish (I repeat, if you know both of them well) is considerable.

There are lots of things to criticize in JetBrains' tools (terrible performance, well known bugs go unfixed for decades), but it's not just a glorified text editor.

Also, Java does not "require a giant IDE" any more than other languages do. The language — because of its static typing and good support for reflection — lends itself to writing excellent autocompletion and refactoring tools. Same for C#, F#, Kotlin. Most other languages simply don't have them, not that they don't need them — they just generally cannot have them because of heavy reliance on runtime “magic”, or small user base, or exceedingly complicated analysis (even JetBrains “failed” here — CLion is a quite poor experience compared to Rider/IDEA), or other reasons.


All the reasons you give for idea being superior sound like Java developer problems.

Maybe I don’t need my editor to “understand the entire project” because the code I work on is modular and self contained enough that it doesn’t matter.

When I need a big refactor, tests are usually there to help.

Of course, when you are working on a code base full of AbstractAutowiredFactoryBeanFactories the yea of course you are going to need some more involved tooling, because it’s impossible for a human to read.


> Maybe I don’t need my editor to “understand the entire project”

With all due respect, I don’t think you have seen the monstrosities project can grow into over multiple years and big teams. Not everything is at the scope of, say, Foot - but even this pushes the boundaries of human understanding without tools to aid.


If a text editor is enough for some programming languages it doesn't mean that the editor is an IDE.


Just as much as going to the 10km away supermarket requires a car or public transport - you can walk if you want, but I will have already went home from shopping while you are still just started walking.


Walking is good for you.


You can do much better things in all that free time you get, but it is an analogy.


Naw, you have no free time because you live in a food desert where you can't even walk to get groceries and you're stuck in your car for everything. You're totally dependent on a giant, expensive, resource-intensive monster. It would be nice to have options, but you're locked in.

(walking is VIM, the Escalade is IntelliJ)


Like what?


> That’s because writing Java all but requires a giant, heavy ide

I used intellij as an example.

Visual studio and c++, rider and c#, goland and go are all vastly more feature rich than vim and an LSP.



I don't want to "get by" with probably the most important tool in my toolbelt, though.




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

Search: