RFC 3092 – Etymology of “Foo” (2001)

by ipnonon 2/8/2026, 2:32 PMwith 52 comments

by tpetricekon 2/8/2026, 3:17 PM

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

by ksecon 2/8/2026, 4:33 PM

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.

by thenoblesunfishon 2/8/2026, 4:58 PM

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

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

by _ZeD_on 2/8/2026, 3:13 PM

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

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

by greatquuxon 2/8/2026, 8:53 PM

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!

by fholecon 2/9/2026, 12:13 AM

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?

by tomberton 2/8/2026, 7:19 PM

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.

by rast1234on 2/9/2026, 6:44 AM

> 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?

by jibalon 2/8/2026, 4:52 PM

April 1, 2001

by zahlmanon 2/8/2026, 7:13 PM

> 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.

by zabzonkon 2/8/2026, 4:34 PM

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"

by IFC_LLCon 2/8/2026, 4:50 PM

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

by alhazrodon 2/8/2026, 2:59 PM

Echoes of ARPANET.

by userbinatoron 2/8/2026, 11:08 PM

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

by suprjamion 2/10/2026, 8:26 AM

At work we had a server called "fubar".

I said this is going to inadvertently end up in customer communication, maybe we shouldn't be implying the word "fuck" to customers.

Management agreed and had it renamed... to foobar.

by johnthescotton 2/8/2026, 3:30 PM

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".

by darth_avocadoon 2/9/2026, 2:39 AM

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

by mac3non 2/8/2026, 6:25 PM

Now, tell us about "ZQX3".

by taybinon 2/8/2026, 3:10 PM

No mention of “baz”

by 1970-01-01on 2/9/2026, 1:35 PM

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.