There is so much to be built in terms of tooling and libraries where we need tight, solid, well-crafted, original, unique code.
You can also show this with by e.g. asking an LLM to design an internet search engine in Java, for which there doesn't exist very many examples, and my own Marginalia Search and my devlog is one of few design examples it has to reach for.
Even mentioning nothing of MS just using similar constraints, you'll get a nearly identical design to Marginalia Search. Algorithm choices will be the same. Document and term IDs will encoded in a similar succinct fashion (in one of my experiments, the chosen design was binary compatible). Architecture will be the same. Services and components will to a significant degree have the same names and even using the same non-standard vocabulary. It isn't word for word identical, there sure are a lot of coincidental similarities that notably don't exist with search engines implemented in other languages.
I’m driving it daily and it’s much faster than IJ for what I need, although it doesn’t provide all the diagnostics that IJ does…
It’s on github.com/pepegar/ktlsp if you’re curious.
And speaking on llm and lsp. The new PHP lsp PHPantom (with help of llms) is approaching jetbrains offering fast.
This is probably the one contender:
https://github.com/georgewfraser/java-language-server
and it kinda works, but it's also a bit lacking.
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.
LLMs don't need a LSP, they work better without it often. Most Java devs use IntelliJ or another IDE with its inbuilt thing. For everyone else the existing one is good enough for incidental usage.
So ~no one cares
How could LLM's work better without LSP when LSP is something don't interact with?
It’s less “make me a Java LSP” than “rewrite javac around incremental compilation and exposing a semantic DB”. Which sounds like a much harder problem.