I don’t use FOO. It pisses me off. For those of you who haven’t been initiated into the cult of computer programming, FOO is the word you use when you want to indicate the genericness of the concept under consideration. It’s a shorthand for “whatever, this could be anything, so I’m just going to name it something”.
Unfortunately, if you haven’t been inducted into the cult, then calling things FOO is singularly unhelpful. Our brains like to give things names, and FOO just gets in the way of that. Not only that, but there’s often a little joke thrown in there, because the two names most often used are FOO and BAR. And while FOO has a history that extends to before World War II, when used with BAR it is a pretty clear reference to FUBAR which stands for “Fucked Up Beyond All Recognition”, or something similar. So the use of FOO is both an in joke, and makes concepts harder to understand, and is also slyly obscene.
Instead of FOO, use something concrete and/or ridiculous. I like MONKEY, but others also have used THING or THINGIE. As long as you give it a name that is pretty clearly swappable for another name. I like MONKEY because it is so ridiculous that people can pretty easily accept that monkeys don’t actually come up that often when computer programming, and that MONKEY is just a placeholder for a name that is more relevant to their current situation.
It is more concrete than FOO, however, because MONKEY is a noun, while FOO isn’t necessarily any part of speech. For arbitrary functions, I tend to either use the letter f(), like in 10th grade math, or to use something domain-appropriate, or to use something related to monkeys or bananas.
No matter what, however, I try to avoid use of FOO except among those who have drunk the kool-aid. It’s clannish and exactly the sort of jargon that can turn people away from the field for no good reason.









