There are many reasons. The elsephant in the room, being that it’s Javascript and includes a full blown browser with a JS VM.
When I write a C or C++ app, if I use libcurl and a library I’m using does as well, it links to the same shared libcurl library (mapped in RAM) as all other running processes do as well. With NPM, you can’t share libraries across process space and you’ll often even find the same packed being imported multiple times within the same app. In JS, it’s like statically linking all of your dependencies, but even less efficient. It can be argued that this is as good as it is bad.
When you build a code ecosystem atop JS, the underlying inefficiencies multiply as each layer is added. VS Code is more efficient, but even 192MB is still pathetically bloated.
Expect Atom to eventually approach and surpass 1GB of RAM, not less... at least in the short term.
When I write a C or C++ app, if I use libcurl and a library I’m using does as well, it links to the same shared libcurl library (mapped in RAM) as all other running processes do as well. With NPM, you can’t share libraries across process space and you’ll often even find the same packed being imported multiple times within the same app. In JS, it’s like statically linking all of your dependencies, but even less efficient. It can be argued that this is as good as it is bad.
When you build a code ecosystem atop JS, the underlying inefficiencies multiply as each layer is added. VS Code is more efficient, but even 192MB is still pathetically bloated.
Expect Atom to eventually approach and surpass 1GB of RAM, not less... at least in the short term.