Live data from Hacker News

Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot

jointhefreeworld.org

21–30 of 127 posts

Re: Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot

#21

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)

Exactly. I've been trying to say this. Some people think that because people can write CRUD APIs and end-user apps with AI, no-one will need to write code anymore.

There is so much to be built in terms of tooling and libraries where we need tight, solid, well-crafted, original, unique code.

Re: Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot

#22

> 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…

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.

I feel the same about VS Code, it's probably some of the plugins but sometimes, especially when LLMs make edits, memory usage explodes until my system breaks down and force pauses some apps until I kill some of them.

I should go back to Zed, maybe use the CLI interface for agentic programming instead of the UI.

Re: Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot

#23

> 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…

Also, like where else would the indices live? They are in memory to make going to definition, source, analysis etc fast. It's not even using java objects for these, so a feature-equivalent solution would be similarly "fat".

Re: Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot

#24
post #18

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

These are two different things; a language server would be a standardized intermediate layer between said CI tooling and any editor for inline / realtime checking, code suggestions and formatting.

Re: Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot

#25

> 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…

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.

I've got Android Studio open now, while also working in several PyCharm projects, IntelliJ and WebStorm. No issues at all on macOS.

Re: Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot

#26

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)

I am actively working on a fast language server for Java and kotlin.

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.

Re: Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot

#27

> 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…

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.

It's a bit strange to project a personal experience with one product onto all other products by the same vendor, even if those products use shared platform parts. Not to dismiss your claim, it's just IDEs (code engines specifically) are naturally pretty complicated pieces of software, so the experience may vary.

The claim that 8Gb RAM is required just for Intellij seems to be at least overgeneralization (also depends a bit on how you count RAM usage; e.g. do you count all mmaped files as RAM usage even when pages are not loaded?). Can be true for some projects, but I've been working on decently sized Java/Kotlin codebases (~250k locs) with way less RAM allocated for Intellij (again, your experience may vary). Even Intellij and Kotlin projects themselves have been usable with less memory, at least some time ago.

What's more baffling, though, is how an LSP would be significantly better if it is based on the same IDE core, just running headlessly? I think there may be an independent non-IDE based LSP for Scala, but both Java and Kotlin LSP are based on existing IDEs engines (Java LSP is based on Eclipse engine, Kotlin LSP is based on Intellij).

A quote from the kotlin-lsp GitHub repository: > The language server is based on the most recent IntelliJ IDEA version and proprietary parts of JetBrains Air and Fleet products, making it partially closed-source.

https://github.com/Kotlin/kotlin-lsp

Re: Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot

#28

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)

Nah, there is little demand for it that's the reason.

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

Re: Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot

#29

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)

I am actively working on a fast language server for Java and kotlin. 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.

To be clear, it’s not supported by a compiler, but rather plain tree sitter syntax parsing. I’m embarking on a bigger project to create a linter (and integrate) without relying on JVM or a compiler at all, but IDK when that’s gonna come.

Re: Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot

#30

> and forces you into a closed proprietary ecosystem https://github.com/jetbrains/intellij-community ?

Exactly, I've been using their community edition for years for Kotlin development. Works fine for normal day to day development needs. I had a paid subscription for a while that I just let expire because I rely more on agentic coding tools these days and I just don't write a lot of code by hand at this point. The paid version adds a lot of deeper integrations and tools that you may or may not need. Personally, I don't really miss most of that. These days the community edition and the paid edition are the same. But if you don't take a subscription, the paid stuff is unavailable.

As a company, Jetbrains is a private company. It's one of the few large software companies that managed to get there without selling out to VCs or the vultures on the stock market. Of course they want to make a profit but they also create a lot of value for developers. Including a lot of open source things. I think it's nice that it's still possible to create a business by bootstrapping and without compromising your values.

Post reply on HN