Skip to content
DevMeme
2239 of 7435
A Non-Programmer's Take on 'void'
Languages Post #2493, on Dec 21, 2020 in TG

A Non-Programmer's Take on 'void'

Why is this Languages meme funny?

Level 1: Baking the Salad

Imagine your friend who doesn’t cook tries to explain how to make a salad. They might say something silly like, “First you bake the salad or something... I don’t know, I’m not a chef.” You’d probably giggle because it’s obvious they have no idea what they’re talking about. They used a cooking word (“bake”) in completely the wrong way, and then admitted they aren’t actually a chef at all. This meme is funny for the same reason. A person who isn’t a programmer tried to use a programming word to sound like they understood something, but it came out wrong and confusing. In the end they basically said, “I don’t know, I’m not a programmer.” We laugh because they attempted to sound smart about code but ended up just proving that they had no clue – and that contrast is pretty silly and relatable to anyone who’s ever heard someone pretend to know something when they really don’t.

Level 2: No Return Policy

Let’s break down what’s going on in simpler terms. In programming, we have something called a function – think of it as a mini-machine or a recipe that takes in some ingredients (inputs), does a task, and then gives back a result. The kind of result it gives you is called its return type. When programmers write out a function, they include this in the function’s definition (the function’s signature): it’s like saying, “This little machine will output a result of type X.” For example, if we make a function that adds two numbers, we might declare its return type as an int (short for integer) because the output will be a number.

However, not all functions need to give back a result. Some just do something useful and then stop. Maybe a function simply prints a message to the screen, or saves data to a file, without needing to send any value back. In many programming languages (such as C, C++, or Java), we use the keyword void for those cases. Void basically means “nothing” or “no value.” So if a function is declared with a void return type, it’s a signal that this function doesn’t return any information to whoever called it. It performs its task and then exits without handing back a data item. This is a basic concept in coding: you always specify what a function returns – and if it returns nothing, you explicitly say void. It’s like a shop that has a **“no returns” policy* – once you call that function, you’re not getting anything back from it except whatever action it carried out internally.

For example, consider a simple function that greets a user. It might not need to return any value to the rest of the program; its job is just to display text. In C-style syntax, we would write it like this:

// A function that prints a greeting and returns nothing
void greetUser(const char *name) {
    printf("Hello %s!\n", name);
    // There's no "return [value];" here because the function returns void (nothing)
}

Here, void before greetUser means this function doesn’t give back any result. It just executes the printf to say hello, and then it’s done. If you tried to capture a return value from greetUser("Alice"), you couldn’t – there isn’t any value coming out of it.

Now, let’s look at the text of the meme: “VOID OR SOMETHING. IDK, I’M NOT A PROGRAMMER.” What does that mean? IDK is common internet slang for “I don’t know.” The person speaking is trying to explain a function’s return type but clearly has no idea what they’re saying. They throw out the term void because they probably heard a programmer use that word. By saying “or something,” they’re showing uncertainty – it’s like when you half-remember something and mumble the rest. Then they admit, “I’m not a programmer,” which explains why they’re so unsure. In short, someone who isn’t a coder is guessing at how to describe what a function returns, and they guess wildly with “void or something.” To a programmer, this sounds goofy because void has a very specific meaning (“returns nothing”), and you wouldn’t pair it with “or something” if you knew what it meant. It’s a bit like hearing someone use a big word incorrectly and then shrugging and saying they don’t actually know the subject. The humor here is a classic case of a basic programming concept being misunderstood. It’s funny to people who do code, because we immediately recognize that the explainer used a real coding term in such a wrong, clueless way. Essentially, the person’s explanation itself has no return value – they didn’t end up explaining anything at all! This kind of mix-up is a common theme in coding jokes, where non-developers trying to speak “tech talk” get it adorably wrong.

Level 3: Void of Understanding

This meme nails a scenario every developer finds amusing (and a tad cringe-worthy): a non-programmer is bravely trying to use programming lingo and it backfires. A function’s return type is a basic concept that developers deal with every day, but hearing someone outside the coding world attempt to explain it leads to instant comedy. In the meme’s text, the person says:

“VOID OR SOMETHING.”
“IDK, IM NOT A PROGRAMMER.”
In one stroke, this captures a non-programmer misunderstanding a fundamental term. They throw out the word void — which is actual programmer jargon for "no return value" — but then immediately add "or something," signaling they have no confidence in what they just said. Finally comes the confession, "IDK, I’m not a programmer," basically translating to “I have no idea what I’m talking about, please don’t quote me.” For an experienced developer, the hilarity lies in how they used a very specific term (one that has a clear meaning to us) in such a vague, uncertain way.

Why is this so funny to those of us in software? Void isn’t just any random tech word; it literally means nothing. So the person’s explanation ends up being as empty as the word they chose. It’s as if their attempt to sound knowledgeable literally returned void – no useful information was given back. 😅 This kind of scenario is a staple of DeveloperHumor and CodingHumor: we’ve all experienced someone confidently misusing tech terminology in meetings or in conversation. Maybe a manager says, “We need one of those algorithm things, or whatever, to make it go faster,” or a friend insists, “Just hack the database mainframe!” (mixing up all the buzzwords). In this case, a core language feature taught in introductory programming — the function return type — got mangled. Seasoned devs chuckle because it’s an inside joke: a newbie or outsider tried to speak our language and ended up with a string of words that sounds technical but conveys nothing. The phrase “void or something” has that facepalm-worthy ring to it, while “I’m not a programmer” is the obvious cherry on top. It humorously highlights the gap between how we talk about code and how outsiders hear it as almost magical incantations.

Even the layout of the meme reinforces the punchline. The top panel has a glitchy, monochrome static background behind the text “VOID OR SOMETHING,” which feels like a scrambled signal — a perfect visual for a garbled explanation. The bottom panel is just solid black with “IDK, IM NOT A PROGRAMMER” in bold white text. That solid black area is essentially a void in itself, a tongue-in-cheek representation of emptiness. In other words, the meme literally descends into a void when the person admits they don’t know what they’re talking about. The all-caps bold font mimics someone speaking emphatically (perhaps to sound sure of themselves) but the content of the words betrays their confusion. For veteran coders, this meme sparks a knowing grin and maybe a memory of when a well-meaning non-dev colleague tried to use terms like API, SQL or void and left everyone either scratching their heads or suppressing laughs. It’s a good-natured reminder that what’s obvious to us in the world of code can sound hilariously absurd in the mouth of someone who’s “not a programmer.”

Level 4: The Type of Nothing

At a theoretical level, functions in programming are defined by a function signature which includes the types of inputs and the type of the output (the return type). In statically-typed languages, every function must declare what kind of value it will hand back. But what if a function isn't meant to hand back any value at all? The answer, in languages like C and C++, is the special keyword void. Void indicates the function returns nothing. Historically, older languages like Pascal made a clear distinction between procedures (no return value) and functions (with return values). C, in its early days, had an odd language quirk: if you omitted the return type, the compiler assumed the function returned an int by default. This could lead to unpredictable behavior if the function actually returned nothing. The ANSI C standard (late 1980s) introduced void to explicitly mark a function as returning nothing, eliminating that ambiguity. Under the hood, this influences how compiled code is generated: a void function simply doesn’t allocate space or register for a return value. It behaves like a command or subroutine – you call it for its side effects, not for a result to use later.

In more abstract computer science terms, void embodies the idea of "no result." In CS fundamentals, we learn that a function can be seen as a mapping from inputs to an output. If there’s no output, one way to model that is to say the output type has no meaningful value. Some type systems represent this as an empty type (a type with no possible values), or they use a unit type (a type with exactly one trivial value) to stand in for “no information.” Different programming languages handle the concept in their own style: for example, in Python or JavaScript there is no void keyword – if a function doesn’t return anything explicitly, it will implicitly return a placeholder like None or undefined. But in languages such as C++, Java, or C#, using void as a return type is a built-in part of the grammar, enforcing at compile time that the function gives back nothing. In essence, void is baked into programming language design to represent a function that yields no value – a literal encoding of nothingness as a valid outcome.

Description

A two-panel meme that plays on the literal versus technical meaning of a programming term. The top panel displays a grainy, dark, static-like image resembling a void or empty space, with the white text 'VOID OR SOMETHING' overlaid. The bottom panel is completely black, featuring the punchline in white text at the bottom: 'IDK, IM NOT A PROGRAMMER'. The humor comes from the 'I'm not a...' meme format, where a person outside a specific field naively misinterprets a technical term. Here, 'void', which in many programming languages is a keyword signifying that a function returns no value, is mistaken for the literal concept of an empty void

Comments

21
Anonymous ★ Top Pick My therapist asked me to describe the void. I told her it doesn't return anything and you can't assign it to a variable. The look of confusion on her face was priceless
  1. Anonymous ★ Top Pick

    My therapist asked me to describe the void. I told her it doesn't return anything and you can't assign it to a variable. The look of confusion on her face was priceless

  2. Anonymous

    “Void or something” - aka the unofficial return type of every legacy RPC that silently mutates state, publishes five Kafka topics, and still finds a way to page you at 3 AM

  3. Anonymous

    After 20 years of explaining to stakeholders why a function returns void instead of 'success', you realize the real void is the understanding gap between 'it doesn't return anything' and 'but how do we know it worked?' - eventually you just start returning meaningless integers to keep everyone happy

  4. Anonymous

    When your function returns void but your career prospects feel even more empty - at least the compiler knows what to expect from one of them. The real void is realizing you've spent 15 years optimizing functions that return nothing, literally and metaphorically

  5. Anonymous

    Void isn’t ‘nothing’; it’s a contract to return nothing - right up until C hands you a void* and suddenly ‘nothing’ can alias literally everything

  6. Anonymous

    Non-dev: “void or something.” Senior dev: “Yep - returns nothing, emits everything, and the only value we ever observe is a PagerDuty alert.”

  7. Anonymous

    PM's spec for every API endpoint: 'void or something'

  8. @Zedchi 5y

    Сложна

    1. @ImJmik 5y

      Ты либо в майн не играл Либо действительно "not a programmer"

      1. @mvolfik 5y

        Tbl nN6o B MaŇH He Nrpan nN6o AeŇcTBNTenbHo "not a programmer"

        1. @mvolfik 5y

          how the f does one read cyrillic

          1. @freeapp2014 5y

            Lol

          2. @biohazzardt 5y

            "cp" is like f in cyrillic

            1. @ImJmik 5y

              It is one letter ф We have с and р But they s and r for you

          3. @Ktquad 5y

            Noob

          4. @ImJmik 5y

            Oh, seems you never tried to read hebrew

          5. @ImJmik 5y

            Actually it is not hard We have no diphthongs No shit like 'ghoti' (google that) Just some weird letters like ы, ж, щ Or letters with no sound ь ъ And it much easier to write english sound with cyrillic than write russian with latin

  9. @Ktquad 5y

    *Нуб

  10. @ImJmik 5y

    А, стоп, не заметил твою предыдущую аву))))

    1. @iftryalexg 5y

      Показалось...

  11. @biohazzardt 5y

    ахахахахаха

Use J and K for navigation