What is foo? - Definition from Whatis.com
Just as economists sometimes use the term "widget" as the ultimate substitute for "something" that is being measured, programmers tend to use the term "foo" (pronounced FOO) as a universal substitute for something real when discussing ideas or presenting examples. Suppose you are defining a template for any group of programmers to follow when creating a new user command, you might specify that the syntax for the command should be in the form:
  Command foo (arg1, arg2)
where the "foo" would mean "the name you give to this command." In other words, "foo" is a nonsense kind of placeholder for some value that will be provided when using this template to define a real command. (And the "arg1" and "arg2" are arguments or information you would define that would be passed along with the command.) Because "foo" has no rational meaning of its own and because "foo" is conventionally used as such a placeholder, the idea will be clear to any programmer.

Foo or any such word used this way is formally known as a metasyntactic variable. Eric Raymond, probably the world's greatest authority on foo and other metasyntactic variables, also lists qux, waldo, fred, xyzzy, and thud among others that are occasionally used. Although foo is the canonical metasyntactic variable, Raymond notes that cultures outside the United States have their own preferences. Fred, barney, and wombat seem common in the U.K. Toto, tata, titi, and tutu reportedly are used by the French. Blarg and wibble are used in New Zealand.

The origin of foo seems wrapped in the mists of time, but Raymond observes (and we remember) that in Bill Holman's comic strip of the 1930-50 era, Smokey Stover, the letters "FOO" commonly appeared, unexplained and as a kind of running gag, on license plates, in picture frames, and on the backs of sandwich board signs.

Also see FUBAR.

Contributor(s): Kevin Barrett and R. Terry McCutchen
This was last updated in May 1998

Dig Deeper

  • Remote backup can ease network disaster recovery

    Backing up to local disk or tape can protect against the accidental destruction of a file but will do nothing to protect you when your facility suffers fire or flooding. Remote backup provides a better solution. This tip looks at two possibilities for remote backup: Choosing an outsourced remote backup service, or using software to do your own backups to an offsite facility.

  • VoIP now part of phishing attacks

    Learn how attackers are using the widespread deployment of low-cost VoIP to leverage phishing attacks.

  • VoIP privacy on the WAN

    Is the government listening to your VoIP traffic? Can other companies spy on your WAN? It may sound like a paranoid conspiracy theory, but it's not that far out, technologically speaking. In this tip, Tom Lancaster looks at just how exposed your WAN traffic may be.

Do you have something to add to this definition? Let us know.

Send your comments to techterms@whatis.com