RFC 3092 – Etymology of “Foo” (2001)

(datatracker.ietf.org)

160 points | by ipnon 1 day ago

19 comments

  • tpetricek 1 day ago
    There is an entire paper looking at the history, meaning and cultural significance of the foo, bar, baz words: https://link.springer.com/article/10.1007/s13347-019-00387-2
  • ksec 1 day ago
    A lot of programming languages uses "Foo bar" during introduction without actually explaining why "Foo" and why "bar". Before the age of Google and Internet it was perhaps one of the most common question from speakers of non-English language.
    • exidy 3 hours ago
      Even many decades later I remember the frustration in university 100-level CS courses of every new concept demonstrated with a mess of foo(), int* bar, void** baz scribbled on a overhead projector.

      Descriptive names are helpful, people! I think even back in the 90s C supported at least 31 characters.

    • mvkel 1 day ago
      This was one of the biggest hurdles I had to overcome when I was a wee lad combing through "Professional PHP Programming." All of the examples it gave were foo/bar, and I couldn't make the intellectual leap to understand what the real world use cases would be.

      It wasn't until I tried building something (mad libs) that things "clicked"

  • thenoblesunfish 1 day ago
    This location in Switzerland reminded me of some placeholder Python code.

    https://en.wikipedia.org/wiki/Foo_Pass

  • _ZeD_ 1 day ago
    funny how in italian the "Metasyntactic variable"[1] are "pippo", "pluto" and "paperino"

    [1] https://en.wikipedia.org/wiki/Metasyntactic_variable#Italian

  • greatquux 1 day ago
    I stole this handle from GLS many many years ago and I use it pretty much everywhere. I guess I just love the idea of metasyntactic variables, and using that phrase whenever anyone asks me about my handle!
  • fholec 1 day ago
    Turns out “foo/bar/baz” has lore. I assumed it was just tribal placeholder magic. Now I’m wondering what other dev fossils we still carry around - IDDQD (Doom god-mode) is a personal favorite. What’s yours?
    • samplatt 1 day ago
      In case anyone else has ever wondered:

      IDDQD stands for Id Delta Quit Delta, a fraternity created by DOOM programmer Dave Taylor who released that if you drop out or quit a course you get a statistically-better final grade than you would by failing the course. Of course, you still end up not achieving a degree, hence when used in-game it shows "Degreelessness Mode" activated.

    • kunley 1 day ago
      Excuse me, fossils?
      • samplatt 1 day ago
        It's only offensive if you're being carried around.
      • maxbond 1 day ago
        I think they're referring to the artifacts (like foo) rather than people.
        • kunley 20 hours ago
          Yes and still don't comprehend why to call certain things fossils if they are still used by virtually everybody
          • maxbond 9 hours ago
            Petroleum is used by everyone right? And it's a literal fossil. I wouldn't call it a fossil because all terminology has lore, but the idea as I understand it is that it's an artifact that outlived the context it was originally relevant in.
  • rast1234 23 hours ago
    > It has been plausibly suggested that "foobar" spread among early computer engineers partly because of FUBAR and partly because "foo bar" parses in electronics techspeak as an inverted foo signal.

    Can anyone educate me what "inverted foo signal" means here, in connection to electronics?

    • chordbug 22 hours ago
      I believe Ā is notation for "not A" and is read out loud as "A bar".
      • rast1234 8 hours ago
        thanks! this makes sense
  • tombert 1 day ago
    Being largely self taught, I ended reinventing a lot of lingo myself. My placeholder words are generally “blah”, “yo”, and “fart” unless other people are reading the code.

    I never claimed I was terribly mature.

    • paradox460 1 day ago
      I've used Blarg and Honk ever since Red vs Blue carved them into my mind
  • zahlman 1 day ago
    > First on the standard list of metasyntactic variables used in syntax examples (bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud)

    I've seen foo, bar, baz, qu+x, plugh and xyxxy actually in use, not the others.

    I've not used "qux" or followed the convention of adding more u's. From me it's been just foo, bar, baz, quux and then some Monty Python inspired ones: spam, ni, ecky, ptong.

    Although eventually I learned enough about how to name things that I don't feel the temptation any more. I'll gladly pay that bit of joylessness to understand myself months later.

  • jibal 1 day ago
    April 1, 2001
    • PaulRobinson 1 day ago
      IETF have a habit of posting "fun" RFCs on the 1st April each year. Some of them are more famous for being completely daft ("avian carriers" and climbing into trees to watch 0s and 1s painted on the top of tanks being the two stand-out ones), but it doesn't mean that everything they do on that date is to be disregarded as nonsense.
      • jibal 1 day ago
        Something can be humorous without being nonsense, such as this RFC.
    • B1FF_PSUVM 1 day ago
      I'll have an apotropaic inscription to go, please.
  • zabzonk 1 day ago
    naming is hard.

    my advice to junior programmers after i see them agonising over a name - "just call it x or foo for now, you are going to change it later anyway"

    • paulddraper 1 day ago
      “It might be hard, but don’t let that stop you from making it worse” :)
  • IFC_LLC 1 day ago
    I don’t understand how this article is not at the top of all times
  • userbinator 1 day ago
    Not to be confused with https://en.wikipedia.org/wiki/Shmoo , although I have used that as a metasyntactic variable before.
  • alhazrod 1 day ago
    Echoes of ARPANET.
  • johnthescott 1 day ago
    f*kt up beyond all recognition. semper fidelis

    i first heard "foo bar" from eric allman at berkeley office of britton-lee, mid 1980s. i vaguely recall eric wrote a column about history of "foo bar".

  • darth_avocado 1 day ago
    I’m disappointed it’s not originating from the Mexican “Foos”.
  • mac3n 1 day ago
    Now, tell us about "ZQX3".
    • stackghost 1 day ago
      This is the first time in my life encountering "ZQX3" in some context that suggests it has broad meaning.

      What does ZQX3 have to do with TFA?

  • taybin 1 day ago
    No mention of “baz”
    • hk__2 1 day ago
      It’s literally in the first sentence of the first definition:

      > bar /bar/ n. [JARGON] The second metasyntactic variable, after foo and before baz.

      • rendaw 1 day ago
        In the etymology section, I presume. And I can't find it either, if it is there.
    • stephenlf 1 day ago
      Part 2, 3rd definition of “foo”mentions baz
  • 1970-01-01 17 hours ago
    I always hated foo, bar, & baz. These vars are always pushed by uncreative individuals. I directly equate it with middle-management types that drive black BMWs and have the personality of milquetoast and golf. No thanks, I'll stick with zig, zag, and zip. If you don't like it too bad, write your own throwaway code.