this post was submitted on 16 May 2025
721 points (99.2% liked)

Programmer Humor

23591 readers
888 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
[–] Shawdow194@fedia.io 99 points 2 weeks ago (1 children)

The joke is always Javascript

[–] Blue_Morpho@lemmy.world 65 points 2 weeks ago (7 children)

JavaScript itself is fine. The problem is developers who import a library to add two numbers.

[–] i_stole_ur_taco@lemmy.ca 50 points 2 weeks ago (2 children)

Excuse me, but it’s industry practice to always use PlusJs.

Its just annoying that it has its own dependency on MinusJs.

[–] Artyom@lemm.ee 4 points 2 weeks ago

And MinusJs depends on AngularJs and VueJs for some reason, but that's just the cost of doing business!

[–] TheGalacticVoid@lemm.ee 34 points 2 weeks ago (2 children)

Maybe we wouldn't need external libraries to do basic things if JavaScript had a standard library

[–] jaybone@lemmy.zip 9 points 2 weeks ago

What is this crazy talk??

[–] mindbleach@sh.itjust.works 6 points 2 weeks ago (1 children)

The thing you want from jQuery was added to all browsers in 2018.

[–] vithigar@lemmy.ca 3 points 2 weeks ago (2 children)

I'm currently on a crusade against lodash where I work.

load more comments (2 replies)
[–] jjjalljs@ttrpg.network 24 points 2 weeks ago (5 children)

I don't know about "fine". It has a lot of weird stuff baked in. Hoisting. Unexpected type coercion. Too many ways to loop over something and I always forget which one is which. "There's more than one way to do it" is kind of a recurring problem, come to think of it. Several function declaration syntaxes. Dot notation AND bracket notation for objects.

Also it will forever bother me that object keys aren't quoted.

const foo = "hello"; const bar = { foo: "world" }

That should be, in my mind, { "hello": "world" } . It's not. It's { "foo": "world" }

But if you want to do that, you need to do const bar = { [foo]: world }. Which looks like your key is an array with one entry, a string with a value of "foo"

You also end up learning a whole framework, with its syntax and idioms, every couple years. Angular. React. Redux. Whatever.

There's also a lot of people who have never used anything else, and want to use javascript for everything.

Javascript is basically D&D. Wildly popular. Full of legacy jank. People try to use it for anything even though there are better or more specialized tools.

[–] JordanZ@lemmy.world 4 points 2 weeks ago* (last edited 2 weeks ago)

This lightning talk is great for the oddness of JavaScript. He starts with Ruby but pretty quickly spends the rest of the time on JavaScript.

[–] Lemminary@lemmy.world 3 points 2 weeks ago (2 children)

After reading the JS Bible and listening to a lot of Kyle Simpson, I don't find any of those unusual or unexpected, but rather neat in the context of the language. And with enough practice, even the implicit return of an arrow functions jumps out at you.

load more comments (2 replies)
load more comments (3 replies)
[–] nickwitha_k 12 points 2 weeks ago (1 children)

Use the modulo operator? Nah. Need to import the isEven library and a ton of other unnecessary sub-50 LOC libraries "maintained" by a single dev to make their CV look more impressive. /s

[–] phoenixz@lemmy.ca 9 points 2 weeks ago (3 children)

Oh Hells no.

JavaScript is NOT fine, it's .... I'm really trying to think of a word that will convey the shit that it is without triggering half the people on Lemmy into an aneurysm, but I can't find it.

JavaScript is by far the worst. I've been working with JavaScript for the past 6 days and I want to hang myself, it'd be a better fate than continuing

[–] aev_software@programming.dev 6 points 2 weeks ago

6 Whole Days!

Try 25 years. And it still surprises me.

[–] Hoimo@ani.social 4 points 2 weeks ago

Yeah, I had some webpages archived and tried to use javascript to clean them up, but I ended up parsing it as xml through Powershell instead. I've done something with Python and BeautifulSoup too, a long time ago. Both much easier than JS, but somehow JS is designed to work with web pages? Make it make sense.

[–] Aqarius@lemmy.world 3 points 2 weeks ago (1 children)

JavaScript is by far the worst.

PHP

[–] phoenixz@lemmy.ca 2 points 1 week ago

PHP was shit 25 years ago (like everything else back then) and I never bothered to look at it ever again but to this day I keep shitting on it because reasons

You

[–] mindbleach@sh.itjust.works 6 points 2 weeks ago

Or ship a browser to run a script.

[–] Shanmugha@lemmy.world 4 points 2 weeks ago (5 children)
[–] marlowe221@lemmy.world 2 points 2 weeks ago (1 children)

It’s false. Different memory addresses, etc.

[–] Shanmugha@lemmy.world 1 points 2 weeks ago

Like I didn't know 😂

load more comments (4 replies)
[–] bjorney@lemmy.ca 78 points 2 weeks ago* (last edited 2 weeks ago) (2 children)

> want to compile 50kb C++ console app on windows

> 6 GB MSVC installation

[–] onlinepersona@programming.dev 31 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

"It's so easy to compile C/C++ apps on Linux"

"Just run make install"

"If it doesn't work, fuck you, it worked on my machine"

Anti Commercial-AI license

[–] Kazumara@discuss.tchncs.de 39 points 2 weeks ago (1 children)

Hm. I've always found it harder to compile stuff on Windows.

[–] onlinepersona@programming.dev 18 points 2 weeks ago (4 children)

Oh, my comment was more that compiling C/C++ apps on any platform is shit. Windows may be the worst to compile on, but Linux is only marginally better.

Rust is amazing though.

Anti Commercial-AI license

[–] SomethingBurger@jlai.lu 17 points 2 weeks ago

compiling C/C++ apps on any platform is shit

I'm starting to think the platforms aren't the problem.

[–] Kazumara@discuss.tchncs.de 6 points 2 weeks ago

Okay that's fair. I fricked around with some C++ numerics BLAS header library (I think it was Eigen) on Linux before that was complicated and annoying too. The ARM Fast Models simulator was also a pain. Maybe I just don't like C++ development now that I think about it.

C mostly worked okay for me though.

[–] msage@programming.dev 2 points 2 weeks ago (1 children)

Gentoo is the best platform for this.

[–] barsoap@lemm.ee 1 points 2 weeks ago (1 children)

NixOS. Gentoo gets into trouble when you need multiple versions of the same library at the same time. Also while the infrastructure supports it it's annoying that gentoo doesn't provide pre-built binaries, like yes some people might want to have reason to build their own bash but I think I'll be fine with a standard build. NixOS? If you install something usually it's going to be pre-built. Change a couple of configuration flags? May or may not be pre-built. You want to apply a custom patch? It's going to seamlessly build from source.

[–] gabelstapler@feddit.org 1 points 2 weeks ago

I remember that Gentoo recently introduced binary packages, however I didn't really look into it, as I changed away from Gentoo. (Looking at you Spidermonkey, llvm etc.)

[–] FuckBigTech347@lemmygrad.ml 1 points 2 weeks ago

That's only been my experience with software that depends on many different libraries. And it's extra painful when you find out that it needs hyper specific versions of libraries that are older than the ones you have already installed. Rust is only painless because it just downloads all the right dependencies.

[–] arty@feddit.org 12 points 2 weeks ago

I keep seeing complaints from non JavaScript developers about their IDE not handling millions of files in a folder properly

[–] WoodScientist@sh.itjust.works 34 points 2 weeks ago (1 children)

Depending on the design of its memory, a device with a full drive will literally weigh slightly more or slightly less than one with an empty drive. Charging the battery in all cases causes it to weigh more.

[–] cm0002@lemmy.world 14 points 2 weeks ago (1 children)
[–] perishthethought@lemm.ee 30 points 2 weeks ago (2 children)
[–] bartvbl@lemmy.world 7 points 2 weeks ago

Is it even plugged in? I don't see a wire.

[–] podperson@lemm.ee 6 points 2 weeks ago

How did you get permission from the elders to take a picture of it?

[–] fonji@sopuli.xyz 31 points 2 weeks ago (1 children)

Then marketing comes around, asks to add google tag manager, and proceeds to make the client download 10TB of tracking librairies.

At least node_modules don't directly impact the browser.

[–] RagingRobot@lemmy.world 12 points 2 weeks ago (1 children)

The tag manager ones always have console errors too lol

[–] HK65@sopuli.xyz 7 points 2 weeks ago

Even if you rawdog the internet with no ad blocker. Actually, especially if you do that.

[–] andyburke@fedia.io 15 points 2 weeks ago

lol at 3/4 of a megabyte of Vue components being ok and thinking node_modules is the issue at hand.

[–] joyjoy@lemm.ee 4 points 2 weeks ago (1 children)

A package manager that does hard-linking helps.

[–] Emotional@lemmy.blahaj.zone 3 points 2 weeks ago

I feel like every time I've suggested pnpm I got eyerolls :(

load more comments
view more: next ›