this post was submitted on 08 Jun 2025
841 points (97.2% liked)

Programmer Humor

24262 readers
958 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
[–] [email protected] 146 points 1 week ago (3 children)

Labelling the crab as C is sure to ruffle some exoskeletons..

[–] [email protected] 25 points 1 week ago (1 children)

As at least one nautically themed childrens' book surely has it: C is for crab.

Coming at programming sideways feels more like a Haskell or Prolog thing, though.

[–] [email protected] 11 points 1 week ago (5 children)

Apple is for ADA

Ball is for BASH

Crab is for C

Dog is for D

Elephant is for Ecsmascript

Fox is for F#

Goat is for Go

House is for Haskell

Igloo is for

...okay I got stuck there.

[–] [email protected] 6 points 1 week ago* (last edited 1 week ago) (1 children)

Java has Duke

Duke, Java's mascot. A triangular shaped character with a red nose.

Ugh, I accidentally got a fake transparent background. Oh well.

[–] [email protected] 7 points 1 week ago* (last edited 1 week ago) (2 children)

Branding fail so bad that everyone forgets that Java even has a mascot.

[–] [email protected] 4 points 1 week ago

There are dozens of us! Millions of devices and dozens of us know about Duke!

Fun fact, Duke is released to the public. I forget in what way exactly, but Oracle freed them (him? it?).

[–] [email protected] 3 points 1 week ago (1 children)

I thought it was a cup of coffee? A hipster barista in 90’s Memphis style illustration would be most accurate I think.

Damn, I went searching online for some examples and got nothing that was really from back then. Just shitloads of AI vaporware slop. Time to dig out my old design mags I guess.

load more comments (1 replies)
load more comments (4 replies)
[–] [email protected] 9 points 1 week ago (5 children)

I mean, at the end of the day, if you really understand your language of choice, you know that it is jusf a bunch of fancy libraries and compiler tricks of top of C. So in my mind, I'm a fully evolved programmer in a language, when I could write anything I can write in that language in C instead.

[–] [email protected] 19 points 1 week ago (6 children)

only true if your language compiles to c. fortran peeps are safe.

[–] [email protected] 5 points 1 week ago (1 children)

I'm an 80's/90's BASIC bitch, so I'm still irrelevant!

[–] [email protected] 4 points 1 week ago
10 PRINT "FARTS"    
20 GOTO 10
load more comments (5 replies)
[–] [email protected] 8 points 1 week ago (5 children)

It's not what you can use that language to do - all general purpose languages are Turing Complete, so what you can do with them is exactly equal. It is about what the language will do for you. Rust compiler will stop you from writing memory unsafe code, C compiler cannot do that.

[–] [email protected] 6 points 1 week ago

...are Turing Complete, so what you can do with them is exactly equal.

But they're only equal in the Turing complete sense, which (iirc) says nothing about performance or timing.

[–] [email protected] 4 points 1 week ago (1 children)

But how does the Rust compiler do that? What does it actually check? Could I write a compiler in C that does this check on a piece of Rust code?

C is so simplictic, that if I can write a piece of functionality in C, I must understand its inner workings fully. Not just how to use the feature, but how the feature works under the hood.

It is often pointless to actually implement the feature in C, since the feature already has a good implementation (see the Rust compiler for the memory safety). But understanding these features, and being able to mentally think about what it takes in C to implement them, is still helpfull for gaining an understanding of the feature.

[–] [email protected] 3 points 1 week ago

Could I write a compiler in C that does this check on a piece of Rust code?

Well yes, but that code has to be written in Rust. The human has to follow rules to give the compiler a chance to check things.

C is so simplictic, that if I can write a piece of functionality in C, I must understand its inner workings fully. Not just how to use the feature, but how the feature works under the hood.

I don't think that's particularly more true of C than Rust or even Golang. In C you are frequently making function calls anyway for the real fun stuff. If you ever compile a "simplistic" chunk of C code that you think is obvious how it would compile to assembly and you open up the assembly output, you are likely to be very surprised with what the compiler chose to do. I've seen some professional C developers that never actually had a reason to fully understand how the stack works, since C abstracts that away and the implications of the stack don't matter until you exceed some limitations.

load more comments (3 replies)
[–] [email protected] 6 points 1 week ago (1 children)

Or, rather, most compiled languages are just syntactic sugar on top of assembly, and that's especially true with C. (Oh, you can use curly brances and stuff for blocks? That's sure easier to read than the label mess you get with assembly.)

[–] [email protected] 3 points 1 week ago (1 children)

Assembly is a little too high level for me. I prefer to directly write machine code.

[–] [email protected] 4 points 1 week ago

You may as well be a script kiddie. I leverage my very steady hand and highly magnetized needle to write my code

load more comments (2 replies)
load more comments (1 replies)
[–] [email protected] 78 points 1 week ago* (last edited 1 week ago) (8 children)

Rust: Downloading 7390327 crates...

[–] [email protected] 23 points 1 week ago

I feel like Rust would be some complaint from the compiler saying that some apparently unrelated struct can't be Send/Sync for some inscrutable reason. Or something about pinning a future.

load more comments (7 replies)
[–] [email protected] 43 points 1 week ago (1 children)

Rust is still in the locker room having an argument with their coach (borrow checker).

[–] Sylvartas 20 points 1 week ago (1 children)

C++ is home sick, currently the doctor (compiler) is not sure whether it's got the flu or a terminal cancer.

[–] [email protected] 14 points 1 week ago

terminal cancer

"I'm sorry, you've been diagnosed with :(){:|:&};:"

"You have a couple seconds to live."

[–] [email protected] 42 points 1 week ago (1 children)

Why is the crab not Rust. This is outrageous, it’s unfair

[–] [email protected] 36 points 1 week ago* (last edited 1 week ago) (6 children)

Rust would be some borrow checker compile error like

borrowed data escapes outside of associated function
argument requires that `'1` must outlive `'static`
[–] [email protected] 17 points 1 week ago (2 children)

rust errors are funny if you don't know rust

[–] [email protected] 13 points 1 week ago

News at Ten: Borrowed Data Escapes Outside of Associated Function

[–] [email protected] 8 points 1 week ago (1 children)

Those also happen to be errors you'd typically run into, if you don't yet really know Rust...

load more comments (1 replies)
load more comments (5 replies)
[–] [email protected] 32 points 1 week ago (3 children)

Not a word of a lie, I saw a "segmentation fault" error in JavaScript.

Can't remember how we resolved it, but it did blow my mind.

[–] [email protected] 11 points 1 week ago (1 children)

Technically any language runtime can end in a segmentation fault.

For some languages, in principle this shouldn't be possible, but the runtimes can have bugs and/or you are calling libraries that do some native code at some point.

[–] [email protected] 6 points 1 week ago

Even safe rust can do it, if we allow compiler bugs

[–] [email protected] 10 points 1 week ago

Ive also seen this, but not from js but node

[–] [email protected] 6 points 1 week ago

I have seen a Java program I wrote terminate with SIGSEGV. I think a library was causing it.

[–] [email protected] 31 points 1 week ago (1 children)

C trying to take the shortest path to the goal.
Would probably have won (and broken the universe), if the referee didn't exist.

[–] [email protected] 18 points 1 week ago (1 children)

Python is being even smarter by trying to underflow the distance to the finish line.

[–] [email protected] 24 points 1 week ago

"npm install" in particular is getting me.

[–] [email protected] 20 points 1 week ago (1 children)

This implies that Javascript will get moving in the correct direction once it finishes installing dependencies, but it's just going to get fucked with incorrect behavior that doesn't even have the courtesy to throw an actual error.

load more comments (1 replies)
[–] [email protected] 17 points 1 week ago

Why is openbsd the referee?

[–] [email protected] 17 points 1 week ago

I find it funny that the pufferfish blows up at its own gunshot

[–] [email protected] 16 points 1 week ago (1 children)
[–] [email protected] 6 points 1 week ago

Yep, it's the one starting everything.

And doing nothing else. And still something manages to no be right.

[–] [email protected] 6 points 1 week ago

Rust isn't shown because it's already completed the course

[–] [email protected] 5 points 1 week ago

Noob should've used PNPM

load more comments
view more: next ›