特に深い意味のないものを表わす時に用いる代名詞。変数名やファイル名などの例示に使われる。実際のプログラム中で使用されることは少ない。古くは車のナンバーや看板などの風刺画によく出現した。
語源は定かではないが、"FOO, Lampoons and Parody"(Charles and Robert Crumb、1958)というコミックから広がったという説、海兵隊が使っていた言葉 "fubar" を分けた説などがある。
なお、fubarは "fucked up beyond recognition" の略で、「めちゃくちゃの」という意味があり、さらにYeddish語の "feh"、英語の "fooey"といったものを加えた、複数の語源から生じた言葉だろうといわれている。
foo、barの二つが多く使われるが、他に、baz zot qux quux corge grault garply waldo fred plugh xyzzy thudなどがある。
改行コードがDOS形式のファイルをUNIX形式に変更するには、
% tr -d '\r' < foo.txt > foo.unix
とすれば良い。
実際には以下のように使用される。
規格で決まっているわけではないので、方言(?)のようなものも多数あるため、必ずしもこの通りとは限らない。