foo
   HOME

TheInfoList



OR:

The terms foobar (), foo, bar, baz, qux, quux, and others are used as
metasyntactic variable A metasyntactic variable is a specific word or set of words identified as a placeholder in computer science and specifically computer programming. These words are commonly found in source code and are intended to be modified or substituted before ...
s and
placeholder name Placeholder names are intentionally overly generic and ambiguous terms referring to things, places, or people, the names of which or of whom do not actually exist; are temporarily forgotten, or are unimportant; or in order to avoid stigmat ...
s in
computer programming Computer programming or coding is the composition of sequences of instructions, called computer program, programs, that computers can follow to perform tasks. It involves designing and implementing algorithms, step-by-step specifications of proc ...
or computer-related documentation. - Etymology of "Foo" They have been used to name entities such as variables, functions, and
command Command may refer to: Computing * Command (computing), a statement in a computer language * command (Unix), a Unix command * COMMAND.COM, the default operating system shell and command-line interpreter for DOS * Command key, a modifier key on A ...
s whose exact identity is unimportant and serve only to demonstrate a concept. The style guide for
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
developer documentation recommends against using them as example project names because they are unclear and can cause confusion.


History and etymology

It is possible that ''foobar'' is a playful
allusion Allusion, or alluding, is a figure of speech that makes a reference to someone or something by name (a person, object, location, etc.) without explaining how it relates to the given context, so that the audience must realize the connection in the ...
to the
World War II World War II or the Second World War (1 September 1939 – 2 September 1945) was a World war, global conflict between two coalitions: the Allies of World War II, Allies and the Axis powers. World War II by country, Nearly all of the wo ...
-era military slang
FUBAR Military slang is a colloquial language used by and associated with members of various military forces. This page lists slang words or phrases that originate with military forces, are used exclusively by military personnel or are strongly associa ...
(''fucked up beyond all recognition)''. According to a RFC from the
Internet Engineering Task Force The Internet Engineering Task Force (IETF) is a standards organization for the Internet standard, Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster ...
, the word FOO originated as a
nonsense word In linguistics, a nonce word—also called an occasionalism—is any word (lexeme), or any sequence of sounds or letters, created for a single occasion or utterance but not otherwise understood or recognized as a word in a given languag ...
with its earliest documented use in the 1930s comic ''
Smokey Stover ''Smokey Stover'' is an American comic strip written and drawn by cartoonist Bill Holman (cartoonist), Bill Holman from March 10, 1935, until he retired in 1972 and distributed through the ''Chicago Tribune''. It features the misadventures of t ...
'' by Bill Holman. Holman states that he used the word due to having seen it on the bottom of a jade Chinese figurine in San Francisco Chinatown, purportedly signifying "good luck". If true, this is presumably related to the Chinese word '' fu'' ("", sometimes transliterated ''foo'', as in '' foo dog''), which can mean ''happiness'' or ''blessing''. The first known use of the terms in print in a programming context appears in a 1965 edition of MIT's '' Tech Engineering News''. The use of ''foo'' in a programming context is generally credited to the Tech Model Railroad Club (TMRC) of
MIT The Massachusetts Institute of Technology (MIT) is a private research university in Cambridge, Massachusetts, United States. Established in 1861, MIT has played a significant role in the development of many areas of modern technology and sc ...
from . In the complex model system, there were scram switches located at multiple places around the room that could be thrown if something undesirable was about to occur, such as a train moving at full power towards an obstruction. Another feature of the system was a digital clock on the dispatch board. When someone hit a scram switch, the clock stopped and the display was replaced with the word "FOO"; at TMRC the scram switches are, therefore, called "Foo switches". Because of this, an entry in the 1959 ''Dictionary of the TMRC Language'' went something like this: "FOO: The first syllable of the misquoted sacred chant phrase ' foo mane padme hum.' Our first obligation is to keep the foo counters turning." One book describing the MIT train room describes two buttons by the door labeled "foo" and "bar". These were general-purpose buttons and were often repurposed for whatever fun idea the MIT hackers had at the time, hence the adoption of foo and bar as general-purpose variable names. An entry in the ''Abridged Dictionary of the TMRC Language'' states: ''Foobar'' was used as a variable name in the Fortran code of '' Colossal Cave Adventure'' (1977 Crowther and Woods version). The variable FOOBAR was used to contain the player's progress in saying the magic phrase "Fee Fie Foe Foo", a phrase from an historical quatrain in the classic English fairy tale Jack and the Beanstalk.
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, and Delaware General Corporation Law, incorporated in Delaware. Intel designs, manufactures, and sells computer compo ...
also used the term ''foo'' in their programming documentation in 1978.


Examples in culture

*
Foo Camp Foo Camp is an annual hacker event hosted by publisher O'Reilly Media. Event O'Reilly describes it as "the wiki of conferences", where the program is developed by the attendees at the event, using big whiteboard schedule templates that can be re ...
is an annual hacker convention. * BarCamp, an international network of user-generated conferences. * During the '' United States v. Microsoft Corp.'' trial, evidence was presented that Microsoft had tried to use the Web Services Interoperability organization (WS-I) as a means to stifle competition, including e-mails in which top executives including
Bill Gates William Henry Gates III (born October 28, 1955) is an American businessman and philanthropist. A pioneer of the microcomputer revolution of the 1970s and 1980s, he co-founded the software company Microsoft in 1975 with his childhood friend ...
and
Steve Ballmer Steven Anthony Ballmer (; March 24, 1956) is an American businessman and investor who served as chief executive officer of Microsoft from 2000 to 2014. He is the owner of the Los Angeles Clippers of the National Basketball Association (NBA). He i ...
referred to the WS-I using the codename "foo". * foobar2000 is an audio player.


See also

*
Alice and Bob Alice and Bob are fictional characters commonly used as placeholders in discussions about cryptography, cryptographic systems and Cryptographic protocol, protocols, and in other science and engineering literature where there are several partici ...
* Foo fighter * Foo was here * Fu (character) *
Lorem ipsum ''Lorem ipsum'' ( ) is a dummy or placeholder text commonly used in graphic design, publishing, and web development. Its purpose is to permit a page layout to be designed, independently of the copy (publishing), copy that will subsequently pop ...
, similar placeholder text used outside programming * xyzzy * :Variable (computer science)


References


External links


Google developer documentation style guide word list


catb.org * {{IETF RFC, 1639 – FTP Operation Over Big Address Records (FOOBAR) Placeholder names Computer programming folklore Articles with example C code Computing terminology