Skip to content
DevMeme
4399 of 7435
Wednesday Gets Too Granular
Languages Post #4817, on Aug 18, 2022 in TG

Wednesday Gets Too Granular

Why is this Languages meme funny?

Level 1: Calendar Soup

This is funny because it is like making a list of weekdays and writing "Monday, Tuesday, Wednesday, Wedneshour, Wednesminute." The list starts normal, then suddenly acts like part of the word "Wednesday" is a machine part you can swap out. The computer might accept the list, but people looking at it immediately feel that something has gone very silly.

Level 2: Wednesday Is Not A Clock

In programming, an enum is a data type used when a value should be one of a fixed set of named options. For example, enum Months can represent January through December. That makes sense because there are twelve months and each option is a valid month.

The second enum is supposed to represent days, but it changes the rules halfway through. Mon and Tue are days. Wednesday is also a day. But Wedneshour, Wednesminute, and Wednessecond are not real days. They are made by replacing the day part of Wednesday with smaller time units.

That is why this is developer humor rather than just random wordplay. Code can be syntactically valid while still being a bad model of reality. A junior developer learns this quickly: the language may accept your variable names, class names, and enum values, but your teammates still have to understand them later. Good names are part of the program's design, not decoration added after the hard work.

The caption about "if/else AIs" fits because the code looks like something generated by a system that noticed a pattern but did not understand the concept. It saw day, hour, minute, and second as related words, then smashed them into Wednesday like autocomplete with a minor headache.

Level 3: Enum Semantics Collapse

The visible joke is tiny, which is why it works: a C-family-looking editor shows enum Months behaving normally, then enum Day swerving into nonsense. The month enum lists the expected closed set:

Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sept, Oct, Nov, Dec

Then the day enum begins reasonably with:

Mon, Tue, Wednesday, Wedneshour, Wednesminute, Wednessecond,

That is the whole crime scene. An enum is supposed to model a finite domain: the legal values for a thing. A Day enum should contain days. Instead, the code treats the word Wednesday as if the day suffix were a unit of time that can be subdivided into hour, minute, and second. It is not just a pun; it is a perfect little parody of NamingThings, NamingConventions, and CodeReadability problems.

Experienced developers recognize the deeper discomfort because many bad models start exactly this way: a name looks plausible, compiles cleanly, and quietly encodes the wrong concept. The compiler does not care that Wedneshour is semantically unhinged. It only sees valid identifiers separated by commas. That gap between syntax and meaning is where half of maintainability goes to die, usually after someone says, "It is just an enum, how bad could it be?"

The editor annotation saying 0 references adds a neat bit of accidental cruelty. These values are not just absurd; they are apparently unused. So the image has the feel of speculative architecture: code written with confident structure for a domain that does not exist. Somewhere, a future pull request is already preparing to add Wednesmillisecond and call it extensible.

Description

Dark-themed code editor screenshot showing C-style enum declarations. The visible text defines `enum Months` with `Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sept, Oct, Nov, Dec`, then `enum Day` with `Mon, Tue, Wednesday, Wedneshour, Wednesminute, Wednessecond,` while IDE annotations say `0 references`. The joke treats the `day` part of Wednesday as if it were a time unit that can be decomposed into hour, minute, and second, turning a simple enum into absurd literal naming. It lands for developers because enums are supposed to encode a closed domain cleanly, but naming conventions can smuggle in semantic nonsense.

Comments

12
Anonymous ★ Top Pick By the time this enum reaches `Wednesmillisecond`, you have reinvented DateTime with none of the timezone bugs fixed and all of the naming bugs preserved.
  1. Anonymous ★ Top Pick

    By the time this enum reaches `Wednesmillisecond`, you have reinvented DateTime with none of the timezone bugs fixed and all of the naming bugs preserved.

  2. @SemakMillev 3y

    next one must be Wednesfirst

    1. @Similacrest 3y

      Wednesthird surely

      1. @SemakMillev 3y

        Well, not obvious. From day to second, so it is decremental :)

  3. @tokimonatakanimekat 3y

    Oh, I though it was done by someone from "X in Y minutes" minutes

  4. @tokimonatakanimekat 3y

    Seems like AI became their equal

  5. @azizhakberdiev 3y

    Wendesnight

  6. @deerspangle 3y

    Truly the ML will replace us... Annnnnny day now

    1. dev_meme 3y

      Some Wedneshour, probably

    2. @Araalith 3y

      At least it should replace ppl who don't know about date formats.

  7. @ZgGPuo8dZef58K6hxxGVj3Z2 3y

    Wrong it should have a Wednesmillisecond too

    1. @ZgGPuo8dZef58K6hxxGVj3Z2 3y

      Stupid AI can only predict 4 next moves. Pf

Use J and K for navigation