RFC 3092 – Etymology of “Foo” (2001)

(datatracker.ietf.org)

138 points | by ipnon 16 hours ago ago

38 comments

  • tpetricek 15 hours 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 14 hours 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.

    • mvkel 10 hours 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 13 hours ago

    This location in Switzerland reminded me of some placeholder Python code.

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

  • tombert 11 hours 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 8 hours ago

      I've used Blarg and Honk ever since Red vs Blue carved them into my mind

  • _ZeD_ 15 hours ago

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

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

  • greatquux 9 hours 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 6 hours 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 4 hours 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 6 hours ago

      Excuse me, fossils?

      • maxbond 3 hours ago

        I think they're referring to the artifacts (like foo) rather than people.

      • samplatt 4 hours ago

        It's only offensive if you're being carried around.

  • jibal 13 hours ago

    April 1, 2001

    • PaulRobinson 8 hours 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 3 hours ago

        Something can be humorous without being nonsense, such as this RFC.

    • B1FF_PSUVM 5 hours ago

      I'll have an apotropaic inscription to go, please.

  • zahlman 11 hours 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.

  • zabzonk 14 hours 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 12 hours ago

      “It might be hard, but don’t let that stop you from making it worse” :)

  • userbinator 7 hours ago

    Not to be confused with https://en.wikipedia.org/wiki/Shmoo , although I have used that as a metasyntactic variable before.

  • IFC_LLC 13 hours ago

    I don’t understand how this article is not at the top of all times

  • darth_avocado 4 hours ago

    I’m disappointed it’s not originating from the Mexican “Foos”.

  • alhazrod 15 hours ago

    Echoes of ARPANET.

  • johnthescott 15 hours 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".

  • mac3n 12 hours ago

    Now, tell us about "ZQX3".

    • stackghost 8 hours 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 15 hours ago

    No mention of “baz”

    • hk__2 10 hours 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 3 hours ago

        In the etymology section, I presume. And I can't find it either, if it is there.

    • stephenlf 15 hours ago

      Part 2, 3rd definition of “foo”mentions baz