Memory is cheap and data sells enough to many parties. Most apps are just store front for Ads and data collection.
No wonder why open source apps are quite light.
Memory is cheap and data sells enough to many parties. Most apps are just store front for Ads and data collection.
No wonder why open source apps are quite light.
Remember that day when GDPR dropped and website suddenly started loading much faster.
Oh, they have new functionality. It's all in the back end, detailing everything you do and sending it to the parent company so they can monetize your life.
"Program is slow? Just get better hardware, brah!!! It's cheap, bruh!!!"
Fuck you and anyone that thinks like that
It's truely a sad norm
It's just that we have to make space for our 5,358 partners and the telemetry data they need.
* legitimate telemetry data
Legitimate interest to train AI
Let me (lemme?) translate this into customer-friendly business language:
Enhanced user experience
Duh, it's because more and more code is ran remotely. Wait...
Electron everywhere.
And analytics. And offloading as much computation to the client, because servers are expensive and inefficiency is not an issue if your users are the ones paying for it.
Web "Apps" are also quite bad. Lots of and lots of stuff we're downloading and it feels clunky.
Sometimes that's bad coding, poor optimization, third party libraries, or sometimes just including trackers/ads on the page.
I vaguely recall a recent-ish article that an average web page is 30mb. That's right, thirty megabytes.
It's amazing how much faster web browsing becomes when I run PiHole and block most of it.
Suddenly the TV is pretty snappy, and all browsers feel so much smoother.
isn't it a combination of younger developers not learning to programme under the restrictions of limited memory and cpu speed, on top of employers demanding code as soon as possible rather than code that is elegant or resource efficient or even slightly planned out
Mostly the latter. We don't do any optimizations on our product whatsoever. Most important thing is to say yes to all the customers and add every single feature they want. Every sprint is spent adding and adding and adding to the code as much as we can and as quickly as we can. Not a single second is allotted to any discussion about performance or efficiency. Maybe when something breaks, but otherwise we keep piling on more crap at full speed non-stop. I have repeatedly been told "the fast way is the right way" followed by laughter. I was told to "merge this now" on multiple occasions even when I knew that the code was shit, and told the team as much. I am expected to write code now and think about it later.
As you can expect, the codebase is a bloated nightmare. Slow as shit, bugs galore, ugly inconsistent UI, ENORMOUS memory use, waaaaaay too frequent DB access with a shit ton of duplicate requests that are each rather inefficient themselves. It is a rather complex piece of lab management software, but not so complex that it should be struggling to run on dedicated servers with 8 gigs of RAM. Yet it does.
Much the latter.
Plus everything better work perfecly out of the box on any hardware, and there is a lot of different hardware. Compatibility layers are often built into the package.
Java, for instance, recommenda that you package the whole (albeit slimmed down) JVM inside the package for the target platform, rather than relying on the java runtime installed already.
The users arent expected to know any of that anymore.
Because companies give zero fucks. They will tell you they need tons of IT people, when in reality they want tons of underpaid programmers. They want stuff as fast and cheap as possible. What doesn't cause immediate trouble is usually good enough. What can be patched up somehow is kept running, even when it only leads you further up the cliff you will fall off eventually.
Management is sometimes completely clueless. They rather hire twice as many people to keep some poorly developed app running, than to invest in a new, better developed app, that requires less maintenance and provides a better user experience. Zero risk tolerance and zero foresight.
It still generates money, you keep it running. Any means are fine.
Did my husband made this meme? Because he is constantly saying this ๐๐๐๐
Is this the appropriate point to reference the suckless community? I mean, that's THE point of the movement...
Paypal has 500 mb and just shows a number and you can press a button to send a number to their server.
It's insane
You made me check it, and on my android device it's 337 (just the app). Jesus Christ.
Fucking Chrome/Electron is why.
I honestly wouldn't mind that if they could all use the exact same runtime so the apps could be a few MB each, but nooooo.
Cheaper & faster development by leveraging large libraries/frameworks, but inability to automatically drop most unused parts of those libraries/frameworks. You could in theory shrink Electron way down by yoinking out tons of browser features you're not using, but there's not much incentive to do it and it'd potentially require a lot of engineering work.
Yeah, though the joke is funny, this is the real answer.
Storage is cheap compared to creating custom libraries.
It's all because of Electron, unnecessary libraries, and just bad coders. Asus Armoury Crate weighs a lot and is so slow, but it's basically a simple app. Total Commander has much more features, but it's fast, lightweight, and consumes 9 MB of RAM.
I've said this on reddit before, but once for a joke I tried to make a windows program to play doot.wav during October at random, and tried programming it on Linux.
Sinds playing audio and working with the system tray was tricky, I ended up with electron.
So yeah, an atrocious 120 mb application to play a 6kb wav file with a Math.random()
. I don't remember the memory consumption, but it was probably just as gross.
Which faang company are you sr. engineer at?
Once I wrote an annoying program adding acceleration to the mouse cursor, so it was difficult to click any UI item. It was written in Object Pascal with Win API and weighted 16 KB. And I think in C it would be even smaller.
I remember there was a pretty funny prank program that would make the user's mouse pointer leave behind little poops on the screen at random.
Simple reason - dependencies.
Modern devs dump any dependency and sub-dependency under the sun into their project and don't bother about optimizing it. That's how you end up with absurdly large applications. Especially electron is a problem in this regard.
You can still write optimized and small software. However, for most businesses, it's just not worth their time. Rather using an additional couple hundred megabytes of dependencies on the client system.
Performance/optimisation wise is an environmental catastrophe..
The hp printer app says it needs your location to connect to WiFi. It says it needs your location all the time when not using the app, again to connect to WiFi
uh, please do ask, why does opening a fucking glorified text and image processing app require 1 gigabyte of ram.
Who wrote this software? The guy from the bible who was the model for greed and gluttony? Jesus christ.
I'd argue that deploying from one codebase to 3+ different platforms is new functionality, although not for the end user per se.
I wish though that more of the web apps would come as no batteries included (by default or at least as a selectable option), i.e. use whatever webview is available on the system instead of shipping another one regardless of if you want it or not.
Usually, instead of having 8-bit art, you have epic songs and very high definition textures. That is a good deal of why.
It's like Moore's law. The number of bytes for a basic app doubles every 2.5 years.
When I was young, we'd get a few different games games on a single 1.4 Mb floppy disk. The games were simpler, sure, but exactly the same games now would be far bigger in bytes.
At least games make sense, as the graphics get better. Though in some cases, the compression is also better. Like PS5 games are smaller on average than their PS4 versions, even though they have higher resolution textures in most cases, just because the PS5 has better compression/decompression tech.
It's the secret sauce, called unnecessary frameworks and user analytics modules.
With that in mind, I LOVE how lean and fast some FOSS apps/projects are. One of my motivations to go searching for FOSS alternatives is when something seems slow for no reason.
It's not always the case, but it's often the case
Bloatware, spyware, scope creep from middle managers feeling uncomfortable letting a dev have a slow day.
I just updated Epic Games Launcher. BEHOLD:
1st update
2nd update
Almost a gigabyte for a mostly blank interface, wtf.
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.