The terms foobar (), foo, bar, baz, and others are used as
metasyntactic variables and
placeholder name
Placeholder names are words that can refer to things or people whose names do not exist, are tip of the tongue, temporarily forgotten, are not relevant to the salient point at hand, are to avoid stigmatization, are unknowable/unpredictable in ...
s in
computer programming
Computer programming is the process of performing a particular computation (or more generally, accomplishing a specific computing result), usually by designing and building an executable computer program. Programming involves tasks such as ana ...
or computer-related documentation.
[ - Etymology of "Foo"] They have been used to name entities such as
variable
Variable may refer to:
* Variable (computer science), a symbolic name associated with a value and whose associated value may be changed
* Variable (mathematics), a symbol that represents a quantity in a mathematical expression, as used in many ...
s,
functions, and
command
Command may refer to:
Computing
* Command (computing), a statement in a computer language
* COMMAND.COM, the default operating system shell and command-line interpreter for DOS
* Command key, a modifier key on Apple Macintosh computer keyboards
* ...
s whose exact identity is unimportant and serve only to demonstrate a concept.
History and etymology
It is possible that ''foobar'' is a playful
allusion
Allusion is a figure of speech, in which an object or circumstance from unrelated context is referred to covertly or indirectly. It is left to the audience to make the direct connection. Where the connection is directly and explicitly stated (as ...
to the
World War II
World War II or the Second World War, often abbreviated as WWII or WW2, was a world war that lasted from 1939 to 1945. It involved the vast majority of the world's countries—including all of the great powers—forming two opposin ...
-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 associat ...
(''Fucked Up Beyond All Recognition)''.
According to an
Internet Engineering Task Force
The Internet Engineering Task Force (IETF) is a standards organization for the Internet and is responsible for the technical standards that make up the Internet protocol suite (TCP/IP). It has no formal membership roster or requirements and a ...
RFC
RFC may refer to:
Computing
* Request for Comments, a memorandum on Internet standards
* Request for change, change management
* Remote Function Call, in SAP computer systems
* Rhye's and Fall of Civilization, a modification for Sid Meier's Civ ...
, the word FOO originated as a
nonsense word
A nonsense word, unlike a sememe, may have no definition. Nonsense words can be classified depending on their orthographic and phonetic similarity with (meaningful) words. If it can be pronounced according to a language's phonotactics, it is a ps ...
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 from March 10, 1935, until he retired in 1972 and distributed through the ''Chicago Tribune''. It features the misadventures of the titular fireman and ha ...
'' 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 ''Tech Engineering News'' was a student-run publication at the Massachusetts Institute of Technology from 1920 to 1976.
It started as an advertising supplement for '' The Tech'' in 1920, and its last issue was Volume 60 No. 1.
In 1952, it publishe ...
''. The use of ''foo'' in a programming context is generally credited to the
Tech Model Railroad Club (TMRC) of
MIT from circa 1960.
In the complex model system, there were
scram
A scram or SCRAM is an emergency shutdown of a nuclear reactor effected by immediately terminating the fission reaction. It is also the name that is given to the manually operated kill switch that initiates the shutdown. In commercial reactor ...
switches located at numerous 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".
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
also used the term ''foo'' in their programming documentation in 1978.
Examples in culture
*
Foo Camp is an annual
hacker convention.
*
BarCamp, an international network of user-generated conferences
* During the ''
United States v. Microsoft Corp.
''United States v. Microsoft Corporation'', 253 F.3d 34 (D.C. Cir. 2001), was a landmark American antitrust law case at the United States Court of Appeals for the District of Columbia Circuit. The U.S. government accused Microsoft of illegally ...
'' trial, some 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 business magnate and philanthropist. He is a co-founder of Microsoft, along with his late childhood friend Paul Allen. During his career at Microsoft, Gates held the positions ...
referred to the WS-I using the codename "foo".
*
Foobar2000
foobar2000 (often abbreviated as fb2k or f2k) is a freeware audio player for Microsoft Windows, iOS and Android developed by Peter Pawłowski. It has a modular design, which provides user flexibility in configuration and customization. Stan ...
is an audio player.
* Google uses a web tool called "foobar" to recruit new employees.
* The Foo Bar is a pub in the Leiden University's faculty of Mathematics and Computer Science.
See also
*
Alice and Bob
*
Foo fighter
The term ''foo fighter'' was used by Allied aircraft pilots during World War II to describe various UFOs or mysterious aerial phenomena seen in the skies over both the European and Pacific theaters of operations.
Though ''foo fighter'' initia ...
*
Foo was here
*
xyzzy
*
:Variable (computer science)
*
Fu (character)
References
External links
The Jargon File entry on "foobar" catb.org
* {{IETF RFC, 1639 – FTP Operation Over Big Address Records (FOOBAR)
Placeholder names
Computer programming folklore
Articles with example C code