views:

1896

answers:

13

I hope this qualifies as a programming question, as in any programming tutorial, you eventually come across 'foo' in the code examples. (yeah, right?)

what does 'foo' really mean?

If it is meant to mean nothing, when did it begin to be used so?

Cheers

+1  A: 

http://en.wikipedia.org/wiki/Foobar

FantaMango77
+17  A: 

http://en.wikipedia.org/wiki/Foobar

http://en.wikipedia.org/wiki/FUBAR

Google is your friend :)

D4V360
Google is a GOOD thing
Jonathan
+2  A: 

I think it's meant to mean nothing. The wiki says:

"Foo is commonly used with the metasyntactic variables bar and foobar."

GateKiller
+3  A: 

It's a metasyntactic variable.

Blorgbeard
+5  A: 

As definition of "Foo" has lot's of meanings:

  • bar, and baz are often compounded together to make such words as foobar, barbaz, and foobaz. www.nationmaster.com/encyclopedia/Metasyntactic-variable

  • Major concepts in CML, usually mapped directly onto XMLElements (to be discussed later). wwmm.ch.cam.ac.uk/blogs/cml/

  • Measurement of the total quantity of pasture in a paddock, expressed in kilograms of pasture dry matter per hectare (kg DM/ha) www.lifetimewool.com.au/glossary.aspx

  • Forward Observation Officer. An artillery officer who remained with infantry and tank battalions to set up observation posts in the front lines from which to observe enemy positions and radio the coordinates of targets to the guns further in the rear. members.fortunecity.com/lniven/definition.htm

  • is the first metasyntactic variable commonly used. It is sometimes combined with bar to make foobar. This suggests that foo may have originated with the World War II slang term fubar, as an acronym for fucked/fouled up beyond all recognition, although the Jargon File makes a pretty good case ... explanation-guide.info/meaning/Metasyntactic-variable.html

  • Foo is a metasyntactic variable used heavily in computer science to represent concepts abstractly and can be used to represent any part of a ... en.wikipedia.org/wiki/FOo

  • Foo is the world of dreams (no its not) in Obert Skye's Leven Thumps series. Although it has many original inhabitants, most of its current dwellers are from Reality, and are known as nits. ... en.wikipedia.org/wiki/Foo (place)

  • Also foo’. Representation of fool (foolish person), in a Mr. T accent en.wiktionary.org/wiki/foo

Resource: google

Lukas Šalkauskas
Google is not a resource.... :)
Niyaz
Great answer but probably worth put a link to Jargon file entry: http://www.catb.org/jargon/html/F/foo.html
Dave Webb
Google results aren't an answer
nialljsmith
Google results aren't an answer<<I don't get. So then what is answer ? if you think of one ? with no guarantee ? or I should drop here actual links to mass of sites? I think that stackoverflow must have things in one place, not just links to other sites, that's way i posted all this into one thread.
Lukas Šalkauskas
+1 for the Mr. T reference
Adam Davis
+5  A: 

Check the Hacker's Dictionary for a whole bunch of hacker jargon.

d91-jal
+1  A: 

The Jargon File has this and more...
http://www.catb.org/jargon/html/F/foo.html

jms
+1  A: 

I think it is a living proof that most people writing sample code and tutorials have very little imagination... ;)

I suspect the foobar trend has been significantly boosted by the Internet and open source community, because I don't really remember seeing it much in older computer books (1990s and before).

Anders Sandvig
A: 

In my opinion every programmer has his or her own "words" that is used every time you need an arbitrary word when programming. For some people it's the first words from a childs song, for other it's names and for other its something completely different. Now for the programmer community there are these "words" as well, and these words are 'foo' and 'bar'. The use of this is that if you have to communicate publicly about programming you don't have to say that you would use arbitratry words, you would simply write 'foo' or 'bar' and every programmer knows that this is just arbitrary words.

khebbie
If "everybody" knows this, why are so many people asking about the meaning of "foo", "bar" and "foobar"? Prakash is not the first person to ask.IMO foo, bar and foobar are not intuitive, like a, b, c, tmp, X, Y, Z, var and func, which is why I think many pe
Anders Sandvig
Hm.. Is it just me, or is the rendering of long comments broken? Anyway, the rest was "... why I think many people find them distracting."
Anders Sandvig
Yeah, you exceeded your 300 characters limit for a comment ;) but thanks!
Prakash
I am probably just tangled too deep in the developer community ;-)
khebbie
+2  A: 

foo is used as a place-holder name, usually in example code to signify that the object being named, or the choice of name, is not part of the crux of the example. foo is often followed by bar, baz, and even bundy, if more than one such name is needed. Wikipedia calls these names Metasyntactic Variables. Python programmers supposedly use spam, eggs, ham, instead of foo, etc.

There are good uses of foo in SA.

I have also seen foo used when the programmer can't think of a meaningful name (as a substitute for tmp, say), but I consider that to be a misuse of foo.

Will Harris
+9  A: 

RFC 3092: Etymology of "Foo"

BCS
Oh that's just awesome. They have an RFC for Foo.
Mark Tomlin
Mark Tomlin, look at the date in that RFC.
Windows programmer
Got to love this about foobar, "When used in connection with `bar' it is generally traced to the WW II era Army slang acronym FUBAR (`Fucked Up Beyond All Repair'), later modified to foobar." =D
Shouvik
A: 

I must confess that I don't reall know what does it mean in java. Foo,I think it doesn't matter what it means.Just use it.Allright?

shangrila
A: 

The sound of the french fou, (like: amour fou) [crazy] written in english, would be foo, wouldn't it. Else furchtbar -> foobar -> foo, bar -> barfoo -> barfuß (barefoot). Just fou. A foot without teeth.

I agree with all, who mentioned it means: nothing interesting, just something, usually needed to complete a statement/expression.

user unknown