I think the disproportionate noise about Slack is just due to it being (often without choice) used by so many people, and hence to cite that people only complain about Slack as evidence that Slack is worse than other Electron apps isn't very convincing.
> people only complain about Slack as evidence that Slack is worse than other Electron apps isn't very convincing.
Spotify is almost certainly used by many more people than Slack, and vscode's usage is probably at least within an order of magnitude. The general feedback in comments is that Spotify is bad but not exceptionally so, and that vscode is actually very performant (not when compared to Vim, but it seems to do fine in the context of GUI IDEs).
The other app that there has been a lot of complaints about in the past has been Atom. These have declined recently due to improvements by the Atom team, but also: Atom being the very first ever Electron app probably didn't help here either.
Rust has a Clone trait which provides the .clone() method, which isn’t a shallow clone or a deep clone, due to Rust’s ownership model—the terms “shallow clone” and “deep clone” actually don’t make sense in Rust.
For completeness, I must mention that when you get to types like Rc<T>, deep cloning becomes a meaningful operation, but even there it’s not exposed as a deep clone method, but rather via make_mut (https://doc.rust-lang.org/std/rc/struct.Rc.html#method.make_...) which skips the deep part of cloning if there are no other references to the inner value.
Rust’s ownership model is absolutely delightful to work with. I miss it all the time when working in Python or JavaScript, and encounter and write bugs that would have been structurally impossible in Rust from time to time—to say nothing of inefficiencies that would have been either inexpressible or unreasonable in Rust.
Most functional programming languages don't make a distinction between values and references, so this is kind of a moot point since the copying/merging is never exposed to the developer.
NPM is definitely usable as a package manager for frontend Javascript applications, just needs a little more complicated webpack or similar setup than a node.js app.
Run as many instances as your fault tollerance requirements needs. The expense of adding another physical box is trivial when that physically box is $99 to $250 total to own. They "pay for themselves" in their first month of use, versus any cloud configuration running any 'amp or node or Mean or simply "traditional" web stack.