> 600MB/sec SSDs are kind of 'fast enough' with regards to app loading and boot times
Don't worry, Electron apps are working hard on saving us from 60 Hz.
Two months ago, there was a text editor benchmark on the front page, wherein Atom and VS Code were multiple magnitudes behind all the other editors, leading to this conversation:
Commenter: "Can anyone speak to the difference the underlying hardware makes with Atom or Code? Presumably a top-end desktop processor (~4GHz) and latest-generation NVME storage would offer really good performance, but perhaps not."
Me: "A year ago, people made fun about how programs will get proportionally slower once all the developers have switched to SSDs. Now we're already talking about having to upgrade to NVMe disks for a decent code editing experience."
I'm not sure if this was from the same thread. Someone was arguing that people who say Electron apps (that is, process intensive apps) shouldn't exist are the same ones trying to stifle innovation. I wound up not replying, but that belief is a crock of shit. It's not that Electron apps shouldn't exist. It's that Electron apps can be a huge trade-off between idea => product ship date and resource use for an end user.
I understand that abstraction comes with a cost. You tend to lose a little bit of control of exactly what your code does, and there will likely be more cycles used (sometimes trivial, other times not so much) to accomplish the same task. It's one thing to push the boundaries of existing hardware for the sake of productivity. It's another to say, "Yeah using Electron apps for text editing is fine. Just make sure you can bankroll bleeding edge computer builds, and you won't see any performance degradation."
How does that seem like a sane line of reasoning to anyone?
Electron apps strike me as the 201x's Visual Basic application. It's more polished looking, prettier, and uses a (debatable) better language. But it's mistaking a prototyping system for something meant for releases. It's easy for people to get it up and running and do lots of neat things. Fine, now you've got that out of the way, get the underlying code to be fast and memory efficient and you have a deliverable application. Don't do that, you're just shipping a prototype.
I see something similar in the hobby hardware space. Everyone using microcontrollers (and some really powerful ones) for tasks like homemade smart lights. It's way overkill, but it gets the job done and done quickly. And as a hobbyist it's great because it's infinitely reusable. But that doesn't make it the right thing to use for a shipping product.
Brings to mind Cstross' story about how he ended up writing scifi. At one point it involves pressing a massive proof of concept perl script for a UK online payment service into production, and keeping it afloat as companies and banks piled on.
For many applications, it isn't financially viable to ever make them fast and memory efficient because compute time is just far, far cheaper than programmer time. Electron is perfect for that type of application.
Is that really true? I mean, is it cheaper to write programs using javascript and Electron than a native GUI? It's cheaper to port, I'll grant you, compared to something written to target a native GUI. But, hell, even java and flash had a better memory and CPU story than Electron.
EDIT: Ok, to expand on this. Running a small number (< 5) of Electron-based applications on my MBP with 16GB of memory feels like running the same number of instances of Eclipse circa 2005 on my shitty, cheap HP laptop. Nothing else can run alongside them because they're so memory/CPU hungry. But here's the thing, computers have gotten better since 2005. What's the rationale for such poor performance with these apps? my computer has 8x the memory today (maybe more) than that one had. The clock is up by 2-3x. Cores increased by 4x.
There's no excuse for this in final, deliverable products.
Don't worry, Electron apps are working hard on saving us from 60 Hz.
Two months ago, there was a text editor benchmark on the front page, wherein Atom and VS Code were multiple magnitudes behind all the other editors, leading to this conversation:
Commenter: "Can anyone speak to the difference the underlying hardware makes with Atom or Code? Presumably a top-end desktop processor (~4GHz) and latest-generation NVME storage would offer really good performance, but perhaps not."
Me: "A year ago, people made fun about how programs will get proportionally slower once all the developers have switched to SSDs. Now we're already talking about having to upgrade to NVMe disks for a decent code editing experience."
Source: https://news.ycombinator.com/item?id=13935235