this post was submitted on 07 May 2024
363 points (100.0% liked)

Programmer Humor

421 readers
1 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 1 year ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] henfredemars@infosec.pub 86 points 6 months ago (2 children)

I worked with a developer who insisted on using the shortest names possible. God I hated debugging his code.

I’m talking variable names like AAxynj. Everything looking like matrix math.

[–] redcalcium@lemmy.institute 46 points 6 months ago* (last edited 6 months ago) (2 children)

Ah, must've been a fortran developer. I swear they have this ability to make the shortest yet the least memorable variable names. E.g. was the variable called APFLWS or APFLWD? Impossible to remember without going back and forth to recheck the definition. Autocomplete won't help you because both variables exist.

[–] henfredemars@infosec.pub 29 points 6 months ago (2 children)

He did write some Fortran in his past! What made you think it was Fortran influence?

[–] Templa 7 points 6 months ago* (last edited 6 months ago)

I'd say because fortran is often used for calculations such as numerical analysis where you have x, y and z for example.

I have written fortran code in the past and it was mainly for that.

[–] redcalcium@lemmy.institute 3 points 6 months ago

Your first few programming languages usually influence you the most for the rest of your career.

load more comments (1 replies)
[–] dan@upvote.au 2 points 6 months ago* (last edited 6 months ago)

shortest names possible

This film from 1975 is still relevant today: https://www.youtube.com/watch?v=7hdJQkn8rtA

[–] Malix@sopuli.xyz 35 points 6 months ago (1 children)

installing operating system: 15 minutes, give or take.

give a name to the computer: 45 minutes

[–] SturgiesYrFase@lemmy.ml 13 points 6 months ago (1 children)

I've got that shit on lockdown man.
I name all my devices "Fuck0ff" followed by a 3 letter descriptor of what it is. E.g. - my windows install is Fuck0ffDTW for Desktop Windows, my Garuda install is Fuck0ffDTG for Desktop Garuda(it's a flavour of Arch, btw)

[–] OfficerBribe@lemm.ee 6 points 6 months ago* (last edited 6 months ago) (1 children)

What if you would have 2 devices of same type with same OS or just with OS that starts with same letter? Will you use numbers, if yes, how much leading zeroes if any you will use? If you don't use numbers, will you add a room name? But what if there are 2 devices with same OS in the same room?

[–] SturgiesYrFase@lemmy.ml 6 points 6 months ago

Luckily I'm not responsible for naming my wife's devices, otherwise the whole scheme would be up shit creak. As it stands I have a dual-boot desktop, a daily laptop, a surface pro4, and an old laptop running Ubuntu server for various self hosted stuff. I've managed to just use 3 letters, I assume as I amass more tech I'll need to start adding numbers, if I have to label for rooms I'll have more than a data hording problem.

[–] MentalEdge@sopuli.xyz 28 points 6 months ago* (last edited 6 months ago)

FullSentenceExplainingExactlyWhatItDoes(GiveThisVariable, SoItCanWork)

[–] FrostyCaveman@lemm.ee 23 points 6 months ago (3 children)

Single character variable names are my pet peeve. I even name iterator variables a real word instead of “i” now.. (although writing the OG low level for loops is kinda rare for me now)

Naming things “x”.. shudder. Well, the entire world is getting to see how that idea transpires hahah

[–] Mikelius@lemmy.ml 17 points 6 months ago (1 children)

I hate short variable names in general too, but am okay with them for iterators where i and j represent only indices, and when x/y/z represent coordinates (like a for loop going over x coordinates). In most cases I actually prefer this since it keeps me from having to think about whether I'm looking at an integer iterator or object/dictionary iterator loop, as long as the loop remains short. When it gets to be ridiculous in size, even i and j are annoying. Any other short names are a no go for me though. And my god, the abbreviations... Those are the worst.

[–] FrostyCaveman@lemm.ee 6 points 6 months ago (2 children)

That’s very reasonable, I can get behind that. (my stance is a partly irrational overreaction and I’m totally aware of it lol)

Abbreviations are definitely annoying. My least favourite thing to do with them is “Hungarian notation”. It’s like.. in a statically typed context it’s useless, and in a dynamically typed context it’s like.. kind of a sign you need to refactor

[–] Cethin@lemmy.zip 3 points 6 months ago

Hungarian notation makes sense in a dynamically typed usage (which I despise, but this essentially makes them notationally typed at least) or where you're editor/IDE is so simple it can't give you more information, which I can't see ever being the case in the modern day.

[–] Redkey@programming.dev 1 points 6 months ago

Most people use the term "Hungarian Notation" to mean only adding an indicator of type to a variable or function name. While this is one of the ways in which it has been used (and actually made sense in certain old environments, although those days are long, long behind us now), it's not the only way that it can be used.

We can use the same concept (prepending or appending an indicator from a standard selection) to denote other, more useful categories that the environment won't keep straight for us, or won't warn us about in easy-to-understand ways. In my own projects I usually append a single letter to the ends of my variable names to indicate scope, which helps me stay more modular, and also allows me to choose sensible variable names without fear of clashing with something else I've forgotten about.

[–] Cethin@lemmy.zip 8 points 6 months ago (4 children)

X, y, and z should only be used when working with things with dimensions larger than 1. Indexing into a 2D array, x and y are great uses. I'm also totally fine with i and j for indexer/iterator when appropriate, but I hate when people try to make short variable names for no good reason. We have auto-complete just about everywhere now. Make the names descriptive. There's literally no reason not to.

load more comments (4 replies)
[–] nicky7@lemmy.ml 3 points 6 months ago

Same, except for list comprehension in python, I prefer sinlge character var names there.

[–] lars@lemmy.sdf.org 21 points 6 months ago

An important professor constantly and frustratingly said

we can call this variable whatever we want, so we’ll call it Fred

Made me panic and irate and focus on the wrong part of the problem. Every. Single. Time.

[–] aisteru@lemmy.aisteru.ch 18 points 6 months ago (1 children)

There are only two hard things in computer science: cache invalidation and naming things.

[–] gudu@programming.dev 28 points 6 months ago (2 children)
[–] apotheotic 8 points 6 months ago

Yeah, there are 2 hard things.

0: off by one errors 1: cache invalidation 2: naming things

[–] jonsnothere 4 points 6 months ago

And DNS issues

[–] JATtho@sopuli.xyz 16 points 6 months ago

name your function as malloc() and see to world burn and generate bugs at factorial rate.

[–] some_guy@lemmy.sdf.org 15 points 6 months ago

Why is no one giving credit to my friend n?!

[–] RandomVideos@programming.dev 13 points 6 months ago (1 children)

Since a lot of the english words i know i learned from minecraft, in a farming simulator i named tilled soil"hoed"

I had multiple variables like int isHoed

[–] velvetThunder@lemmy.zip 2 points 6 months ago

There's some hoed in this house If you see 'em, point 'em out

[–] Strawberry@lemmy.blahaj.zone 13 points 6 months ago (2 children)

mathematician here, where is the joke?

[–] KillingTimeItself@lemmy.dbzer0.com 7 points 6 months ago (1 children)

in the linux community it's really common to have applications like MPD, music player daemon, or MPC, music player client, and ncmpc, ncurses music player client, and ncmpcpp the aforementioned one with ++ tacked onto the end.

Cmus, which from what i can recall is literally "c music player"

etc....

[–] PoolloverNathan@programming.dev 1 points 6 months ago (1 children)

fia? fir? fib (part of fia)?

exercise left up to the developer!

[–] humbletightband@lemmy.dbzer0.com 6 points 6 months ago (1 children)

This joke is funny only if placed in Arnold-Atyah manifold if Kolmogorov-Ramachandran-Yu metric is defined

[–] CanadaPlus@lemmy.sdf.org 4 points 6 months ago* (last edited 6 months ago)

So don't use it in non-KRY-definite AA situations, or you could get erroneous results. QQX is fine though, as long as you have non-vanishing ABCD. /s

I wonder if Lean proofs become the new peer review like I've heard suggested, if mathematics might break from this, and look more compsci-ish in the future. That way non-specialists could get up to speed quickly.

[–] gandalf_der_12te@discuss.tchncs.de 12 points 6 months ago

How to write spaghetti code:

[–] MonkderDritte@feddit.de 6 points 6 months ago* (last edited 6 months ago)

No, that's math.

[–] ILikeBoobies@lemmy.ca 5 points 6 months ago (1 children)
[–] rickyrigatoni@lemm.ee 3 points 6 months ago

Gasboss gatelit girlkeep

[–] Kolanaki@yiffit.net 5 points 6 months ago (1 children)

Was just talking about gaming genre names being kinda lame (roguelike? Souls-like? Where's the originality?!) and this just furthers my point as programming and video games are intrinsically linked.

[–] outer_spec@lemmy.blahaj.zone 13 points 6 months ago (1 children)

floats, doubles, etc are decimallikes. object-oriented programming languages are c++likes. a string that is just the word “false” is a boollike. any language easier to learn than c++ is a pythonlike. any language harder to learn than c++ is a asmlike. don’t like it? then you’re a naglike. you don’t want to be known as a naglike, do you?

[–] PoolloverNathan@programming.dev 2 points 6 months ago

Haskell, my favorite pythonlike!

[–] sirico@feddit.uk 3 points 6 months ago (1 children)

It took me too long to figure out the I in an if statement was just integer

[–] PotatoesFall@discuss.tchncs.de 2 points 6 months ago

In a for statement, it often refers to index

[–] PoolloverNathan@programming.dev 3 points 6 months ago (1 children)

I present to you quality variable names. (and a Mount Rustmore)

(Reconfigure(f), 'c') => {
    let mut p: Vec<&str> = vec![];
    loop {
        match args.next() {
            Some(k) => {
                if k == "=" {
                    match args.next() {
                        None => q("need value for Rc"),
                        Some(v) => u(
                            f,
                            |f| Box::new(
                                |c| {
                                    f(c);
                                    c.set(p.iter().copied(), v);
                                    for e in p {
                                        unsafe {
                                            Box::::from_raw(
                                                std::mem::transmute(e)
                                            );
                                        }
                                    }
                                }
                            )
                        )
                    };
                    break
                } else {
                    p.push(Box::leak(k.into()));
                }
            }
            None => error("need path element or = for Rc"),
        }
    }
},
[–] lseif@sopuli.xyz 1 points 6 months ago (1 children)
[–] PoolloverNathan@programming.dev 2 points 6 months ago

Argument parsing; turning Rc foo = bar into Reconfigure(|c| c.foo = "bar").

[–] JoYo@lemmy.ml 1 points 6 months ago* (last edited 6 months ago)

^- triggered

[–] exanime@lemmy.today 1 points 6 months ago

How dare you.... *

load more comments
view more: next ›