DEV Community

Cover image for Trivia #1: Who cursed us with 'foo bar'?
Sylwia Vargas
Sylwia Vargas

Posted on

Trivia #1: Who cursed us with 'foo bar'?

Welcome to my little CS trivia series. Every week I will post a new trivia piece because it seems that my mind is made of pieces of knowledge that don't make one knowledgeable but certainly serve as a good conversation starter (or, killer).


Today's question is...

Where did the cursed 'foo' and 'bar' come from?!

Now, you may already tell that I do not love these two fellows. In fact, I am not alone: read Daniel Warren or Derek Shanks who also admit confusion over these nonsensical examples.

Tutorial after tutorial, I contained my frustration patiently as I thought that maybe there is a deeper meaning or story behind these good-for-nothing placeholders. Well...

FUBAR, in American army jargon, means "f—- up beyond repair". The word came into use during WW2, and in programming context in 1965 in an MIT journal.

Now, Wikipedia provides us with ideas on other equally useful placeholder names, such as:

foobar, foo, bar, baz, qux, quux, quuz, corge, grault, garply, waldo, fred, plugh, xyzzy, and thud

or, in the UK:

wibble, wobble, wubble, and flob

and then, French:

toto, tata, titi, tutu

I still prefer naming my examples in any relatable way that makes it easier to figure out what is happening in the code from from the get-go.

Top comments (11)

Collapse
 
k_vhouston_d11d3aeca5156 profile image
K V Houston

Thank you

Collapse
 
axelledrouge profile image
AxelleDRouge

I would never name my function toto, but when I must use dozens of console.log then it will be console.log("toto") ou console.log("coucou") "coucou" being "hello" in a familiar french.
And yeah I don't like foo and bar either. They confuse me more than anything else

Collapse
 
sylwiavargas profile image
Sylwia Vargas

Totally! I’m a huge advocate of naming your functions, objects and variables descriptively :)

Collapse
 
axelledrouge profile image
AxelleDRouge

Like many of us. How many articles on naming is there on dev.to ? probably a lot!
Which is why foo and bar should be banned. Good practices on naming right from the start and everywhere

Thread Thread
 
sylwiavargas profile image
Sylwia Vargas

I grew very frustrated recently with a documentation where they used “foo bar” a lot and started wondering where these nonsensical words came from 😓 maybe we should write an extension that replaces metasyntactic variables with ones that have some logical relationship to each other ¯_(ツ)_/¯

Collapse
 
mccurcio profile image
Matt Curcio

I was told by old-timers in WWII that

Fubar = f___ (or fouled) up beyond all repair.

That's what Gramps said. ;))

Collapse
 
sylwiavargas profile image
Sylwia Vargas

Well, at least foobar has some positive connotations for you 🙃

Collapse
 
iamschulz profile image
Daniel Schulz

I use a lot of "blubb", "bla" and "schubidu" for prototyping :)

Collapse
 
sylwiavargas profile image
Sylwia Vargas

That does sound fun! ✨

Collapse
 
katnel20 profile image
Katie Nelson

Wibble, Wobble and Wubble sound like great names for functions. I might use those next time a have a triplet to write!

Collapse
 
sylwiavargas profile image
Sylwia Vargas

Yes! At least they are fun! But 'foo' and 'bar'?! I am very much not impressed 👎👎👎