26 comments

[ 5.3 ms ] story [ 47.8 ms ] thread
No mention of “baz”
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
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".

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

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"

I don’t understand how this article is not at the top of all times
Now, tell us about "ZQX3".
> 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.

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.

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

I’m disappointed it’s not originating from the Mexican “Foos”.
> 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?

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