> But what do you actually get with IntelliJ? A massive, monolithic Java application that frequently hogs 8GB+ of RAM, locks up your system while “indexing pre-built binaries,” and forces you into a closed proprietary ecosystem.
This is just exaggeration. I use IntelliJIDEA everyday (on mac) with multiple projects open and tbh they have optimized the IDE a lot to make it faster. I'm not saying it's perfect, but it's getting better. Also it's not closed source. The core of the IDE is open source (https://github.com/jetbrains/intellij-community) and for some specific framework support (e.g. Spring) are available on Ultimate.
This is actually not an exaggeration. Ive been using WebStorm when it worked well, then it became progressively slower to the point of being unusable even on small projects.
The fact we still don't have a decent Java language server is one of my canaries for the fact that LLMs still, generally speaking, can't ship. There is undeniably demand for this sort of thing, but nobody is coming to meet it. (jdtls, bless it for trying, is just not good)
That's just a wrapper for jdtls. I mean it works on some projects, but fails on many gradle builds and is basically just running the Eclipse IDE headlessly.
Metal, the Scala LSP, seems to do Java just fine. When using it in VSC, I feel the limitations compared to IntelliJ are more coming from VSC than from the LSP. Dependencies etc just resolve fine, it is just the UI that is not as polished as IntelliJ’s.
I try VSC with Metal twice a year. It works fine for small projects. But for bigger projects it lacks the more holistic approach that IntelliJ has and feels more like a text editor with smarts bolted on than an IDE.
I’m using Zed a lot as well for Golang and a bit for Rust. For Java it is also hard to use and lacking the same polish.
> But what do you actually get with IntelliJ? A massive, monolithic Java application that frequently hogs 8GB+ of RAM, locks up your system while “indexing pre-built binaries,” and forces you into a closed proprietary ecosystem.
This is just exaggeration. I use IntelliJIDEA everyday (on mac) with multiple projects open and tbh they have optimized the IDE a lot to make it faster. I'm not saying it's perfect, but it's getting better. Also it's not closed source. The core of the IDE is open source (https://github.com/jetbrains/intellij-community) and for some specific framework support (e.g. Spring) are available on Ultimate.
This is actually not an exaggeration. Ive been using WebStorm when it worked well, then it became progressively slower to the point of being unusable even on small projects.
Counterpoint: use intellij on full stack apps with cdk, react, sqls and whatnot, multiple open at a time, without any problem.
The fact we still don't have a decent Java language server is one of my canaries for the fact that LLMs still, generally speaking, can't ship. There is undeniably demand for this sort of thing, but nobody is coming to meet it. (jdtls, bless it for trying, is just not good)
why do you need a java language server? Let them use the same tooling you would use in CI
How is the Oracle one? It has better reviews in VS Code marketplace than the Red Hat one (jdtls)
The one in VS Code seems fine. It's not quite intellij level, but what is.
And speaking on llm and lsp. The new PHP lsp PHPantom (with help of llms) is approaching jetbrains offering fast.
That's just a wrapper for jdtls. I mean it works on some projects, but fails on many gradle builds and is basically just running the Eclipse IDE headlessly.
This is probably the one contender:
https://github.com/georgewfraser/java-language-server
and it kinda works, but it's also a bit lacking.
Metal, the Scala LSP, seems to do Java just fine. When using it in VSC, I feel the limitations compared to IntelliJ are more coming from VSC than from the LSP. Dependencies etc just resolve fine, it is just the UI that is not as polished as IntelliJ’s.
I try VSC with Metal twice a year. It works fine for small projects. But for bigger projects it lacks the more holistic approach that IntelliJ has and feels more like a text editor with smarts bolted on than an IDE.
I’m using Zed a lot as well for Golang and a bit for Rust. For Java it is also hard to use and lacking the same polish.
oracle has some lsp based on netbeans, but it's not great either
The Metals documentation includes instructions for setting it up with Emacs. I followed them, and everything works, including worksheets.
https://scalameta.org/metals/docs/editors/emacs
> and forces you into a closed proprietary ecosystem
https://github.com/jetbrains/intellij-community ?
oh I thought this was somehow extracting the proprietary LSP engine that IntelliJ has and using it with Emacs.
I think Jetbrains did that already; the Kotlin LSP server is derived from the (also open source) IntelliJ plugin