I believe Stuart Levy weighs in on this discussion attributing the
introduction of FOO and BAR into the computer lexicon as the standard name
place holders used in MIT's computer classes. It was certainly in CS
lectures where I was first introduced to the term. My father acknowledged
the military version FUBAR as being a "mess" whereas "Tango Uniform"
aka TU
aka "Tits Up" indicated something was dead (as in "Roger flight, that bogey
is Tango Uniform.")
For anyone who has taught computer science the utility is clear, you need a
non-specific name to indicate a specific instance of a something and FOO is
as good as any, the three names used at USC were FOO, BAR, and BLETCH. Some
added BLATHER if they needed a fourth. This is similar to the
cryptographer's calling the two parties in a secure conversation Alice and
Bob. It is so much nicer than A and B.
Another feature of FOO was that it was difficult, even for foreign
students, to get confused with other english words.
Finally, in discussing operating systems and such you need to change
suffixes for the same program so you could say "Let's say you had a program
FOO, its source code might be in FOO-dot-C and its object code would be
compiled to FOO-dot-O, once linked it would be just FOO." pretty easy to
talk about something when it has a name/handle.
--Chuck