Settings

Theme

Etymology of “Foo” (2001)

ietf.org

64 points by ptio 8 years ago · 15 comments

Reader

stcredzero 8 years ago

I always thought that Foo and Bar were derived from FooBar, which comes from FUBAR, which is an acronym for F#cked Up Beyond All Recognition. (Which seems related to SNAFU: Situation Normal; All F#cked Up.) This is mentioned at the end of the text.

Herodotus38 8 years ago

That was actually much more interesting and detailed than I was expecting. I didn't know about all the pre-WWII foo usage in comics, popular slang, and cartoons. I also found the bit about the existence of "foo clubs" odd. It's like a meme where we only have scraps of the 7th iteration.

nikofeyn 8 years ago

this memo is kind of funny in its informational tone. i had always just assumed foo and bar came from fubar once i became familiar with the usage.

on another note, i have always disliked the usage of these terms. they stand only for internal lingo and serve no useful purpose. in every case, there are better names that can be used, and i feel foo and bar do nothing but distract me from the example and use case at hand. also, as a student in my first assembly programming course, the professor just started using foo and bar indiscriminately and frequently. i was thoroughly confused at least the entire duration of that lecture and maybe the next until i realized these were seemingly arbitrary words he had picked and not, as i had originally thought, meaningful words or even instructions. i'll take a and b any day.

  • ergothus 8 years ago

    > not, as i had originally thought, meaningful words or even instructions. i'll take a and b any day.

    I get where you're coming from, but an advantage to foo and bar is that once we understand they are arbitrary words, that's a reliable rule. I do a little teaching and new students are incredibly literal. (Which makes sense, the kid that answers "what time is it" with the exact hour/minute/second is more likely to grow into a programmer - I certainly did).

    As a result I can't use "better" words, because any meaningful word will be taken to be the requirement. "a" and "b", as you suggest, have issues with being TOO small, too similar, and already have a meaning in sort() uses, not to mention that learning "a" and "b" being meaningless terms is just as hard as learning foo and bar. Pretty much any terms you use will face the same issues, so often the route of least pain is to use the same set of arbitrary terms, and a set that we have a general common agreement as being arbitrary so when a student reads a book, blog post, or watches a video each one of these don't have to explain that foo and bar are arbitrary - we each have to learn that once.

    Which isn't to say that foo/bar/baz aren't overused in places, but I doubt it'd be a good idea to replace them entirely or even mostly.

  • ScottBurson 8 years ago

    One of my earliest programming-related memories is of picking up a macro assembler manual for the SDS 940. This would have been in 1969 or 1970, when I was 11 or 12, and my programming skills were limited to small BASIC programs. The assembler manual completely baffled me, but I recall to this day the first line of an example macro it contained:

        MUMBLE  MACRO
    
    Of course this only deepened my confusion. Clearly there were profound mysteries here :-)
jachee 8 years ago

I aspire to be able to be as seriously silly as an RFC author on April First. Seldom does a joke have such well-researched due diligence.

grondilu 8 years ago

I wonder if it's somehow related to the French "fou" which means "crazy".

leoc 8 years ago

Forward Observation Officer isn't a backronym: https://en.wikipedia.org/wiki/Artillery_observer#British_For...

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection