this post was submitted on 21 Mar 2025
1340 points (98.3% liked)

Programmer Humor

21787 readers
2929 users here now

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.

Rules

founded 2 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] courval@lemmy.world 4 points 5 hours ago

Performance/optimisation wise is an environmental catastrophe..

[–] UnfortunateShort@lemmy.world 22 points 13 hours ago (1 children)

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.

[–] rhadamanth_nemes@lemmy.world 2 points 10 hours ago

Ironically the management that does have a clue often is hamstrung somewhere up the chain.

[–] Gxost@lemmy.world 15 points 13 hours ago (1 children)

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.

[–] SirQuack@feddit.nl 7 points 9 hours ago (1 children)

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.

[–] Gxost@lemmy.world 3 points 5 hours ago

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.

[–] AppleTea@lemmy.zip 49 points 18 hours ago* (last edited 18 hours ago) (3 children)

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

[–] herrvogel@lemmy.world 12 points 13 hours ago

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.

[–] Lifter@discuss.tchncs.de 14 points 16 hours ago (1 children)

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.

[–] PrettyFlyForAFatGuy@feddit.uk 5 points 15 hours ago (1 children)

yep, a lot of apps are just repackaged chrome running a web page.

which begs the question to companies that require use of the app instead of just having a working website i can use on my copy of chrome/firefox that's already on my phone...

why do you need hardware access to my device?

[–] drawerair@lemmy.world 5 points 14 hours ago* (last edited 11 hours ago)

1 reason is that they want as much data as possible. They sell the user data. Or they use the user data to improve their targeted advertising. They want more ad clicks.

Re app versus site, many know how to block ads on browsers. With an app, the firm is hoping they can show you ads. Ads can be removed from certain apps but the layperson doesn't know.

[–] MonkderVierte@lemmy.ml 7 points 14 hours ago* (last edited 11 hours ago)

Generally maybe but for apps specifically, it's the default choice of IDE, Android Studio, bundling tons of libraries for added functionality bound to Play Services.

Which would probably be illegal in EU now, if any judge had the tech see-through for it.

[–] kamen@lemmy.world 12 points 14 hours ago (1 children)

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.

[–] Harlehatschi@lemmy.ml 7 points 14 hours ago

But if your tool chain is worth anything the size of each binary shouldn't be bigger. To oversimplify things a bit: it's just #ifdefs and a proper tool chain.

In the web development world on the other hand everything was always awful. Every nodejs package has half the world as dependencies...

[–] RaptorBenn@lemmy.zip 7 points 14 hours ago

It's nearly all just using a whole library instead of the specific single function thats actually required, because few people are actually writing any code these days.

[–] TedDallas@programming.dev 46 points 21 hours ago (1 children)

#include "the_entire_fucking_internet.h"

[–] TeamAssimilation@infosec.pub 9 points 19 hours ago (1 children)

You know we’ve reached peak bloat and stupidity when JavaScript web apps have a compilation step, and I don’t mean JIT.

[–] stetech@lemmy.world 9 points 18 hours ago (3 children)

I’d rather take a compile step than having no type safety in JS, even as a user.

load more comments (3 replies)
[–] WorldsDumbestMan@lemmy.today 26 points 20 hours ago (3 children)

Usually, instead of having 8-bit art, you have epic songs and very high definition textures. That is a good deal of why.

[–] TeamAssimilation@infosec.pub 28 points 19 hours ago (2 children)

I think the epic songs and 4K textures are missing in my MS Office.

[–] HeyThisIsntTheYMCA@lemmy.world 9 points 17 hours ago (1 children)

Yeah but they made xlookup, that's worth a few hundred megabytes

load more comments (1 replies)
[–] quack@lemmy.zip 1 points 10 hours ago

That’s weird. Have you tried reinstalling?

[–] mexicancartel@lemmy.dbzer0.com 13 points 19 hours ago (1 children)

Textures and songs are not a thing on most apps right? For android, using Kotlin has created much bigger appsize than old java

[–] Aux@feddit.uk 1 points 12 minutes ago

Kotlin doesn't have much impact on binary size.

[–] dQw4w9WgXcQ@lemm.ee 9 points 19 hours ago

Backed devs: sweats

[–] rational_lib@lemmy.world 14 points 18 hours ago (1 children)

Because the app stores keep adding new requirements that you have to add code to deal with and it gets worse every year and seemingly every day.

load more comments (1 replies)
[–] Blackmist@feddit.uk 80 points 1 day ago (9 children)

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.

[–] rarbg@lemmy.zip 12 points 19 hours ago

400mb iphone banking app entered the chat

load more comments (8 replies)
[–] Realitaetsverlust@lemmy.zip 57 points 1 day ago (5 children)

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.

load more comments (5 replies)
[–] Stovetop@lemmy.world 311 points 1 day ago (3 children)

It's just that we have to make space for our 5,358 partners and the telemetry data they need.

load more comments (3 replies)
[–] KillingTimeItself@lemmy.dbzer0.com 40 points 1 day ago (1 children)

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.

load more comments (1 replies)
[–] daniskarma@lemmy.dbzer0.com 216 points 1 day ago (13 children)
load more comments (13 replies)
[–] devilish666@lemmy.world 20 points 23 hours ago (4 children)

That topics always made me curious tho....take a sample AAA games back then has smaller size compared to shitty Unity 2D games nowadays and i wonder why ?

[–] gens@programming.dev 14 points 21 hours ago (2 children)

Less triangles and smaller textures. Crt monitors had less resolution and practically built-in anti-aliasing so they could get away with (and had to) "worse" assets.

Also since ssd-s have become mainstream unity uses less compression so it would load relatively faster.

Basically because monitors got better, standards got higher, competition got fiercer, storage got bigger and faster, etc.

And it's not like there weren't shitty games before, just everybody forgot about them.

I like how the game Banished is made. From a requirenments/looks ratio it is IMO great. One guy made it. Ghosts of Tsushima also looks amazing and is great from a techical perspective, but it is heavy.

load more comments (2 replies)
[–] endeavor@sopuli.xyz 7 points 18 hours ago* (last edited 18 hours ago)

Smaller textures, more assets, and worse audio mainly. Textures used to be like 512 for hero props. Now even random objects you see a few times get a texture 16 times larger. And they get up to 4 of those for each object/group of objects. Thanks to pbr and normals and whatever other masks and lightmaps may be required.

Im sure there are more reasons for size bloat but this is from us artists at least.

load more comments (2 replies)
load more comments
view more: next ›