this post was submitted on 11 Jan 2026
377 points (92.6% liked)

Programmer Humor

29610 readers
1160 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
[–] red_tomato@lemmy.world 130 points 4 weeks ago (3 children)

The OOP boilerplater is the only one with a job.

[–] rainwall@piefed.social 119 points 4 weeks ago* (last edited 4 weeks ago) (1 children)

Imperative stonager works there too. You've just never seen him because he hasen't accepted a meeting invite is 14 years.

[–] pinball_wizard@lemmy.zip 39 points 4 weeks ago

You've just never seen him because he hasen't accepted a meeting invite is 14 years.

And counting!

[–] leftzero@lemmy.dbzer0.com 13 points 4 weeks ago (2 children)

I like the functional parts of C♯, though.

[–] Zos_Kia@lemmynsfw.com 21 points 4 weeks ago (2 children)

Love that you put a real musical sharp and not that ugly #

load more comments (2 replies)
[–] call_me_xale@lemmy.zip 8 points 4 weeks ago (1 children)

This. I've been writing some game mods in it recently and LINQ is... pretty nice. switch expressions, too.

This is coming from a dude formerly from the "OOP Boilerplater" camp, though, so maybe I just have low standards.

[–] leftzero@lemmy.dbzer0.com 6 points 4 weeks ago (1 children)

LINQ is... pretty nice.

Seriously. Want monads? LINQ is monads!

load more comments (1 replies)
[–] victorz@lemmy.world 5 points 4 weeks ago

I think I'm a little bit of everyone except him. I work as a web dev, love functional programming and/with TypeScript. 😅

[–] bdonvr@thelemmy.club 44 points 4 weeks ago (3 children)

Watches Computerphile, thinks it's actual programming

What is this even supposed to imply

[–] call_me_xale@lemmy.zip 31 points 4 weeks ago (1 children)

Yeah, I'm kinda confused by that one too—Computerphile is CS theory, not software engineering.

[–] sukhmel@programming.dev 17 points 4 weeks ago

I think, the point is Haskell is more CS theoretical than practical language and anyone who uses it (or any other FP) has never written a single line of production code (the last statement is even in the meme)

Personally, I love that series. I guess whoever made this meme thinks people who watch the show are trying to implement their code examples in production.

load more comments (1 replies)
[–] PokerChips@programming.dev 38 points 4 weeks ago (1 children)

I feel like the author is a MacBook user.

[–] yogurtwrong@lemmy.world 8 points 4 weeks ago

Imperative stoneagers getting an old MacBook from somewhere and going "huh, I guess its UNIX" is probably true though

[–] 6nk06@sh.itjust.works 33 points 4 weeks ago (1 children)

I was triggered at every panel, it's unacceptable!

[–] passepartout@feddit.org 32 points 4 weeks ago (2 children)

I hope no one got left unoffended

load more comments (2 replies)
[–] potatoguy@lemmy.eco.br 24 points 4 weeks ago (3 children)

Hear me out:

Mixing OOP and functional code to abstract the shit out of everything making 5k loc in around 500 loc in java. You can do magic using this trick.

[–] passepartout@feddit.org 25 points 4 weeks ago (3 children)

Functional programming in Java is kind of an afterthought and it shows. That's one of the reasons why Scala was created!

[–] red_tomato@lemmy.world 13 points 4 weeks ago (2 children)

The FP in Java is still leagues better than whatever the C++ committee cooked up.

[–] marcos@lemmy.world 11 points 4 weeks ago

Just let C++ die already, and stop pretending it's a reasonable thing to compare other languages with.

If you can't do it in C, you are better in Java, Python, Haskell, whatever.

load more comments (1 replies)
[–] potatoguy@lemmy.eco.br 10 points 4 weeks ago (3 children)

Yeah, Scala is the GOAT, but while I can't use, why not final everything, use 300 streams and pass Suppliers around?

(I'm building a lot of libraries at work)

load more comments (3 replies)
load more comments (1 replies)
load more comments (2 replies)
[–] itkovian@lemmy.world 23 points 4 weeks ago (1 children)

I don't belong to any of the above. Am I even a programmer at this point?

[–] marcos@lemmy.world 21 points 4 weeks ago (1 children)

I belong to all of them. Same question.

[–] sukhmel@programming.dev 11 points 4 weeks ago (1 children)

You've transcended programming

load more comments (1 replies)
[–] 9point6@lemmy.world 22 points 4 weeks ago* (last edited 4 weeks ago) (3 children)

Oh, I guess I'm a stoneager with a penchant for functional elitism then.

Though I will admit OOP is valid for involved data modelling, everything else should be functional though.

I've also trained myself out of most short variable names for maintainability reasons

[–] masterspace@lemmy.ca 18 points 4 weeks ago* (last edited 4 weeks ago) (2 children)

Outside of the for loop counters i and j, short variable names are awful. Coming back to old code written with abr var nams is like talking to someone in the military who just constantly throws out jargon and acronyms that they know you don't know.

But so are Java style ObserverFactoryManagerTemplateMachinistTemplater names.

There's a sweet middle ground of short, but actually descriptive name. Sometimes it's not possible but that's usually a code organization / language / framework smell.

Too short variable names is usually a sign that you need to use a proper ide, with auto complete, or that you need to use a proper build process that will minify your code after the fact.

Too long names are usually a sign that your module of code (function, class, namespace, etc) is too large, or that your language/framework naming conventions are too strict, or the language doesn't encapsulate scope properly.

[–] red_tomato@lemmy.world 10 points 4 weeks ago* (last edited 4 weeks ago) (4 children)

Outside of the for loop counters i and j, short variable names are awful.

I’ve started to prefer writing it out as ”index” or ”iteration” even in for loop counters. It’s easier to read, and not much harder to type.

[–] FishFace@piefed.social 6 points 4 weeks ago (1 children)

Keeping things that can be on one line to one line is a good reason to use short variable names where it won't be confusing. Writing "iteration" sounds absolutely perverse!

The thing is, everyone understands i and j. The reason calling variables hcv or iid is dumb is because noone knows what that means - quite a different situation.

[–] red_tomato@lemmy.world 5 points 4 weeks ago

Writing “iteration” sounds absolutely perverse!

I like it to make it clear when the for loop is about iterating lists and when it’s not. For example, the iterations in Monte Carlo algorithms doesn’t correspond to items in a list.

[–] silasmariner@programming.dev 5 points 4 weeks ago (1 children)

idx is the ideal name for an index, change my mind

[–] sukhmel@programming.dev 8 points 4 weeks ago (3 children)

Yh, y cn sv a lt f spc wtht ths unncssr vwls

load more comments (3 replies)
load more comments (2 replies)
[–] marcos@lemmy.world 7 points 4 weeks ago

The length of variable and function names should be proportional to the size of the code that can potentially call them. And preferably segmented in namespaces, explicit modules, or something like that.

load more comments (2 replies)
[–] palordrolap@fedia.io 21 points 4 weeks ago (2 children)

history | grep -E '(sed|grep|awk|perl)' | wc -l 107

Dang. That's out of 1000. I need to up my game. Also three of those seds are part of something with a -basedir and don't count.

So yeah, about 10% of my commands are iterating shell pipe things for poops and giggles, I guess.

... and this got me going down the rabbit hole of writing a filter for my history to pull out the first command on the line. This is non-trivial because of potential preceding variable assignments. Most used commands are currently apt and man and ls. I think apt is a Spiders Georg situation because the system is fairly fresh and I keep finding things that I haven't installed yet. Also I went through a patch of trying to parse its output.

... oh, er... unga bunga.

load more comments (2 replies)
[–] andioop@programming.dev 20 points 4 weeks ago (3 children)

OOP boilerplater except for the Windows bit; trying to slowly move off proprietary software and choose open source when I can

[–] passepartout@feddit.org 11 points 4 weeks ago* (last edited 4 weeks ago) (1 children)

Same honestly, it's a hustle to convince the Java EE dinosaurs of new paradigms. Never going back to Micro$lop though.

load more comments (1 replies)
load more comments (2 replies)
[–] not_woody_shaw@lemmy.world 19 points 4 weeks ago (1 children)

"Writes code on paper to avoid side effects" - ROFL

[–] leftzero@lemmy.dbzer0.com 9 points 4 weeks ago

Programming would be great, if it wasn't for computers (and users, too, but those would stay away without the damn computers).

(Don't get me wrong, I love computers, they're great, as long as they stay turned off.)

[–] Atlas_@lemmy.world 18 points 4 weeks ago (1 children)
load more comments (1 replies)
[–] it_depends_man@lemmy.world 13 points 4 weeks ago
  • this post was made by the imperative stoneager gang
[–] freohr@lemmy.world 13 points 4 weeks ago

Uses neovim with gruvbox theme on arch

Damn, why are you calling me out personally? Though I use it to write python scripts and LaTeX, not rust...

[–] ArrowMax@feddit.org 12 points 4 weeks ago (1 children)

Just finished an assignment for uni: Memory safety in Rust: Mechanisms and limits - a comparison to C/C++.

Fuck.

Great overview of Rust's weaknesses and strengths:

Li et al. 2024 Rust for Linux: Understanding the Security Impact of Rust in the Linux Kernel

[–] passepartout@feddit.org 5 points 4 weeks ago (1 children)

Rust introduces some pretty awesome concepts, but I see why it might be controversial to some. I (sadly) have no use case for it though.

load more comments (1 replies)
[–] goatinspace@feddit.org 11 points 4 weeks ago
[–] craftrabbit@lemmy.zip 9 points 4 weeks ago (1 children)

I've been shifting around, but never to the OOP boilerplater. I despise Java.

load more comments (1 replies)
[–] GenderNeutralBro@lemmy.sdf.org 8 points 4 weeks ago

Unga bunga.

[–] someacnt@sh.itjust.works 8 points 4 weeks ago

That's such a way to dismiss the theory and academia

[–] termaxima@slrpnk.net 8 points 3 weeks ago (1 children)

Proud imperative stoneager here 🦍

load more comments (1 replies)
[–] phoenixz@lemmy.ca 8 points 4 weeks ago (1 children)

Is there a panel for the pragmatist that just goes with what works, with open source strongly preferred?

[–] silasmariner@programming.dev 13 points 4 weeks ago* (last edited 4 weeks ago) (1 children)

No, because the whole point of this meme is to be entirely devoid of nuance. Functional programming is fucking awesome if product is changing its mind every 5 mins, Oop is great if you have a huge number of junior Devs, rust isn't remotely slow so god knows what bottom right is about, top left probably has more functionality defects than you can shake a stick at but he's lionised here. Don't think too hard about it -- OP didn't (also 'never bashes python or JavaScript'? Absolute weaksauce. Perl and PHP are the ones ppl bash because of entry level dev memes. Embarrassed for op)

load more comments (1 replies)
[–] dreadbeef@lemmy.dbzer0.com 7 points 3 weeks ago (2 children)

ocaml and haskell and erlang power like... a shitton of industry production code. If erlang software disappeared, internet dies for a bit until people replace all the broken routers.

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