Comment by spapas82
2 hours ago
I'm 100% on this since Electron is probably the worst thing that happened to the desktop development.
Hiwever, I'd like to hijack this front page article to for a related concern/question I've got.
It seems that all (popular) opensource LLM harnesses are either in JS or python (pi, hermes, opencode, paseo). The same seems to be true for closed source harnesses that I have used (deepseek, chatgpt).
I'd really like to ask why? I mean why somebody would use technologies like JS or python to implement a harness application instead of golang or rust or even C? I understand that before 1 year JS or python would be tempting but right now? Especially the LLm related companies have unlimited tokens and re-writing the harness software to golang or rust should be trivial.
This would benefit so many people (especiall considering the prices and scarcity of RAM these days).
So, why nobody does it? This is an honest question, I don't want to offend interpreted languages but it should be a universal truth that a compiled language is faster and consumes less ram.
Because most of the recent improvements on correctness and 'memory' are from harnesses, my guess is that you want to iterate and test quickly on the software that seems to improve the most and differentiate your brand best. Once a harness is 'complete' (which might happen for specific harnesses, but probably never for code), the team might start to optimise it with compiled languages.
The problem is that they never reach this point where they put it into native code. So you always have a plethora of JavaScript and Python files littering your system. It's baffling.
One good reason: extensibility. Pi is extremely malleable in ways that would probably be harder to achieve if it were in, say, Rust.
The resource usage of my harness is nothing compared to an electron app, and being able to easily customize it is more important to me than saving a few extra MB of ram.
I guess it depends on the harness, for example: chatgpt.exe right now is 1 GB on my windows machine. peseo.exe is 500 mb. and opencode.exe + bun.exe is 300 mb.
One possible reasons is that all of those are compiled languages vs interpreted. It doesn’t sound like much but compiling your code for three plus platforms and distributing binaries adds just enough complexity and friction to make it feel a lot more difficult.
But "friction" is the job, and "complexity" is the job. That's why we're developers.
I agree with that yes but consider how many people would benefit. And how easy it should be for them to do the change (and compile). It's just tokens.
Because it used to cost extraordinarily more money to build for a performance increases almost no one cares about.
chatgpt.exe right now is 1 GB on my windows machine. I have 16 GB and can spare none. So I don't think that nobody cares about such performance increases.
Most don't care or ever notice these things. Hacker News crowd does and always has, but the a non-technical user of a run-of-the-mill desktop app would rather have new features, and maybe some bug fixes, over performance.
Myself? I care. I regularly run a project that needs 6GB for the language server to provide type hints.
> chatgpt.exe right now is 1 GB on my windows machine. I have 16 GB and can spare none.
These are not the same units, because all modern OSes have compressed swap.