this post was submitted on 27 Feb 2025
398 points (97.8% liked)

Programmer Humor

21016 readers
1491 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] 50 points 6 days ago (1 children)

It took me way too long to notice the horror on the right

[–] [email protected] 9 points 6 days ago (2 children)

Wow, so this is possible.

Formatting is so damn arbitrary. Somebody has to have tried storing just the parse tree on disk, right?

[–] [email protected] 2 points 6 days ago

The closest thing I've seen is Combobulate

[–] [email protected] 2 points 6 days ago (1 children)

If you do that, you lose formatting and comments every time you load the source from disk

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

Losing formatting other than what you've set in your deparser would be the point. Losing comments would be bad, but that seems easily fixable just by giving each comment block a symbol that points to it's contents.

[–] djehuti 3 points 6 days ago (1 children)

Or by including comments in the parse tree. (& Yes, it is done various places for various languages and formats.)

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

Do you have some examples?

(That is what I meant by giving them a symbol, maybe I worded it poorly)

[–] djehuti 1 points 5 days ago

The best example I have is a closed source one and I can't be more specific on what it is than to say that it's probably installed on at least one of your Apple devices (assuming you have any).

Implementation-wise, the syntax tree nodes have additional attributes that hold pre- and/or post-element text. What's on disk is the serialized tree. You edit a text version, and it's parsed on every edit so it doesn't have to be parsed again at evaluation time, and what's stored is the parse tree with enough whitespace and comment hints to reconstruct the text for editing.

This is a case where looking at the textual code is rare, but hundreds of results must get updated in realtime on every change. This might be enough of a hint as to what program it is.

[–] [email protected] 5 points 6 days ago

I like python like really really like it. But this should be a warcrime

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

Hang on, this is just a C++ joke slapped onto Rust.

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

You could say they have rewritten the joke in Rust

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

But you get the joke faster now.

[–] [email protected] 7 points 6 days ago

No, it's just impossible for it to leak out of a hole in the back of your head that you didn't realise was growing under your pony tail.

[–] [email protected] 89 points 1 week ago (2 children)
[–] [email protected] 3 points 5 days ago

A funny, but incredibly subtle joke to do would be to do a post like this, but get the indentation subtly wrong somewhere, so something that's supposed to be inside a loop is outside according to indentation, but is inside according to braces.

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

To me it just looks like you do not need the braces at all

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

I'm good at Python, and I don't know Rust. This looks fine to me. I've fully missed the joke.

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

Same. Until you notice the column of curly braces and semi colons in the right margin.

[–] [email protected] 9 points 6 days ago

Oh... Oh god

[–] [email protected] 45 points 1 week ago (2 children)
[–] [email protected] 22 points 1 week ago (1 children)
[–] zlatko 13 points 1 week ago (3 children)

You never review code when you have no time to do an actual review? Looks good to me :)

[–] [email protected] 2 points 5 days ago

LGTM: Large Glitches, Test More!

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

Oh, so Rust is like JavaScript!

[–] [email protected] 7 points 6 days ago

No, Rust lacks the semicolon elision rules of Javascript which make everyone always use semicolons in javascript because they're so horribly broken.

Rust is like ML, quite literally, not just by ancestry: The syntax is palpably ugly, but at least it's sane, regular, and concise where it matters.

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

Pretty sure javascript is like c but I I can't be mad at the js devs for the awful language they write.

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

rustfmt

is stopping me from writing code like this, and I have never been more happier using it after viewing this.

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

I'm going to write a tool that automatically adds the braces and semicolons to the column as you edit the code.

I will call it rustfml

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

Please do, I'm waiting for it to get ported to other languages.

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

Crap, thats what I was thinking.

[–] verstra 9 points 1 week ago (1 children)

It could be run after git checkout and then rustfmt before commit.

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

Then some jerk runs rustfmt and ruins all your hard work!

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

Can't you fix the default format to this?

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

My medication mostly.

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

I hate it with every fibre of my being but also secretly calmed by that column of statement terminators and brackets.

It's like the code representation of the Vancouver riots kiss photo.

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

Why would that cause the same feeling?

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

I'm not sure if you're taking the piss or not but I'm going to choose to believe you're asking in good faith!

The code just feels... messy, unfamiliar, almost chaotic - but the semicolons and curly brackets in a neat little row, formatted in a satisfying way, is like an island of calm and order in the middle of a formatting clusterfuck.

A moment of serenity in the middle of a riot, one may think.

[–] [email protected] 3 points 6 days ago

Ohhhh thanks for the explanation, I'm a bit stupid :3

Also, I didn't mean it in a bad way, a genuine question. Thanks for assuming it's in good faith ^^

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

This makes my deeply uncomfortable, like an itch I can't quite scratch.

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

DwangoAC and the TASBot crew are maniacs in the best possible way. I would like to continue having a high opinion of him, hence I will pretend that this post does not exist.

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

My eyes! My eyes!!!!

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

Oh... Oh! Well, that is creative.

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

I’ll allow it!

load more comments
view more: next ›