The computing power available today is such a double-edged sword. We can do so much more so much faster, but then we (including myself in this) waste so many cycles on abstractions and frameworks and layers of libraries to make our development jobs easier.
> but then we (including myself in this) waste so many cycles on abstractions and frameworks
"what Andy [Grove of Intel] giveth, Bill [Gates] taketh away."
Something I love about this AI era is how we are going to see companies actually focus on performance optimization again.
There’s a reason WWDC was all about apps launching faster on iOS. Apple doesn’t want to stuff more RAM in iPhones when it’s not even a spec sheet their users see or care about.
I did my first ESP32 project recently and was amazed you can get a system that starts up Micropython, then a Wifi AP, DNS, and Web Server in a second or two total and uses less than 512kB RAM. And thats with a high level programming language.
I'd say some of those extra abstractions and frameworks are actually making many jobs harder.
Would love to elaborate, but need to get back to work migrating a jekyll site to astro
The tradeoff isn’t dev job easy vs better performance. The abstractions allow devs to build faster or work on things users care about instead of unobservably better performance.
Sometimes abstractions make performance better too. We can’t all be experts of everything so using a well-optimized library is a boon.
Also it's no longer a toy for hobbyist but a necessary tool to participate in society
Fully agree with you. I am a frontend developer. On my work machine spotify uses maybe 300mb of memory, but on my home pc with opensuse? Image what it uses... 1.1GB.. The same as my brave browser with 4 tabs open. What is going on.
Yes, when you're used to using the modern web with all its bloat it can be a huge surprise when you build something in C or Rust - everyday computers are actually incredibly powerful.
It's interesting to contrast this with the attitude taken by the FFmpeg open source developers. They still hand write assembly code because performance and power efficiency is so critical that every clock cycle counts.
https://lexfridman.com/ffmpeg-transcript#chapter14_assembly_...
"What Andy Giveth, Bill Taketh Away"
Something being easier is not a waste, it’s literally the purpose of every technology.
not even that. you spend most cycles on thing you 1. don't want, 2. don't benefit from, 3. don't even know about.
your phone doesn't even need mention (whatsapp request the full contact list from the OS every minute. nobody knows that. google play service usea your phone as a WiFi scanner etc)
your browser churn proof of work every site you visit. cloudflare now probably waste more power than btc (and they don't save your site from bota, only set the bar at bots-willing-to-pay-to-run-canvas-fingerprints or something)
This is such a reddit take. Yeah electron takes a lot of resources, but there’s also a lot of software that never would’ve been made in the first place if we didn’t have it. It’s not as simple at pointing to (comparatively) inefficient software and saying that’s bad. Software is ubiquitous now and a big part of the reason for that is that frameworks and abstractions made software much easier to create.
I say this as someone who spent all of yesterday optimizing out a function call to save 36 nanoseconds: stop whining about electron.
If the absurd memory prices might have some positive outcome, it will be consumers demanding that all their basic pack of apps are able to run on 16 and even 8 GB of RAM, by means of avoiding those that hog their machines. And consequently (hopefully), developers and their managers being incentivized by market forces to have a modicum of care for performance and not wasting bytes. Dreaming is free...
All Electron devs, let's go back to native-er toolkits! Qt and Slint are already here for proper FOSS apps, while a new generation of research and development on the field of efficient GUI toolkits would benefit us all so much.