this post was submitted on 17 Dec 2025
465 points (96.6% liked)

Programmer Humor

27920 readers
1245 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
 
you are viewing a single comment's thread
view the rest of the comments
[–] 30p87@feddit.org 25 points 1 day ago (112 children)

Almost any language is OK, but Rust is just so, so fucking ugly

[–] asudox@lemmy.asudox.dev 23 points 1 day ago (36 children)

what? what part of rust is ugly?

[–] rtxn@lemmy.world 4 points 1 day ago* (last edited 1 day ago) (9 children)

Enums and nested blocks. I understand the importance of Option and Result, but it's fucking infuriating when I have to check and destructure the result of every function call and either bubble the result up the stack from six levels of nested if let blocks or risk Cloudflaring my program by using .unwrap(). And while I like being able to extract a return value from an if...else expression, the structure gets really convoluted when multiple if and match blocks are nested (of course each one returning a value), and it gets completely fucked once closures are introduced.

I like Rust, but calling it pretty is delusional.

[–] SorryQuick@lemmy.ca 5 points 23 hours ago* (last edited 23 hours ago)

You can also use let else.

let (Some(count\_str), Some(item)) = (it.next(), it.next()) else {
    panic!("Can't segment count item pair: '{s}'");
};

But really it’s the exact same as other languages, it just forces you to handle it better. C-based languages will return 0/null/-1 and you’ll have to check all 3 of those because they might not mean the same thing. How is that better?

load more comments (8 replies)
load more comments (34 replies)
load more comments (109 replies)