i first heard "foo bar" from eric allman at berkeley office of britton-lee, mid 1980s. i vaguely recall eric wrote a column about history of "foo bar".
A lot of programming languages uses "Foo bar" during introduction without actually explaining why "Foo" and why "bar". Before the age of Google and Internet it was perhaps one of the most common question from speakers of non-English language.
Even many decades later I remember the frustration in university 100-level CS courses of every new concept demonstrated with a mess of foo(), int* bar, void** baz scribbled on a overhead projector.
Descriptive names are helpful, people! I think even back in the 90s C supported at least 31 characters.
> First on the standard list of metasyntactic variables used in
syntax examples (bar, baz, qux, quux, corge, grault, garply,
waldo, fred, plugh, xyzzy, thud)
I've seen foo, bar, baz, qu+x, plugh and xyxxy actually in use, not the others.
I've not used "qux" or followed the convention of adding more u's. From me it's been just foo, bar, baz, quux and then some Monty Python inspired ones: spam, ni, ecky, ptong.
Although eventually I learned enough about how to name things that I don't feel the temptation any more. I'll gladly pay that bit of joylessness to understand myself months later.
Being largely self taught, I ended reinventing a lot of lingo myself. My placeholder words are generally “blah”, “yo”, and “fart” unless other people are reading the code.
I stole this handle from GLS many many years ago and I use it pretty much everywhere. I guess I just love the idea of metasyntactic variables, and using that phrase whenever anyone asks me about my handle!
Turns out “foo/bar/baz” has lore. I assumed it was just tribal placeholder magic.
Now I’m wondering what other dev fossils we still carry around - IDDQD (Doom god-mode) is a personal favorite. What’s yours?
IDDQD stands for Id Delta Quit Delta, a fraternity created by DOOM programmer Dave Taylor who released that if you drop out or quit a course you get a statistically-better final grade than you would by failing the course. Of course, you still end up not achieving a degree, hence when used in-game it shows "Degreelessness Mode" activated.
> It has been plausibly suggested that "foobar" spread among early computer engineers partly because of FUBAR and partly because "foo bar" parses in electronics techspeak as an inverted foo signal.
Can anyone educate me what "inverted foo signal" means here, in connection to electronics?
I always hated foo, bar, & baz. These vars are always pushed by uncreative individuals. I directly equate it with middle-management types that drive black BMWs and have the personality of milquetoast and golf. No thanks, I'll stick with zig, zag, and zip. If you don't like it too bad, write your own throwaway code.
26 comments
[ 5.3 ms ] story [ 47.8 ms ] thread[1] https://en.wikipedia.org/wiki/Metasyntactic_variable#Italian
https://sci-hub.st/10.1007/s13347-019-00387-2
Foo, Bar, Baz…: The Metasyntactic Variable and the Programming Language Hierarchy / by Brian Lennon
i first heard "foo bar" from eric allman at berkeley office of britton-lee, mid 1980s. i vaguely recall eric wrote a column about history of "foo bar".
Descriptive names are helpful, people! I think even back in the 90s C supported at least 31 characters.
my advice to junior programmers after i see them agonising over a name - "just call it x or foo for now, you are going to change it later anyway"
https://en.wikipedia.org/wiki/Foo_Pass
I've seen foo, bar, baz, qu+x, plugh and xyxxy actually in use, not the others.
I've not used "qux" or followed the convention of adding more u's. From me it's been just foo, bar, baz, quux and then some Monty Python inspired ones: spam, ni, ecky, ptong.
Although eventually I learned enough about how to name things that I don't feel the temptation any more. I'll gladly pay that bit of joylessness to understand myself months later.
I never claimed I was terribly mature.
IDDQD stands for Id Delta Quit Delta, a fraternity created by DOOM programmer Dave Taylor who released that if you drop out or quit a course you get a statistically-better final grade than you would by failing the course. Of course, you still end up not achieving a degree, hence when used in-game it shows "Degreelessness Mode" activated.
Can anyone educate me what "inverted foo signal" means here, in connection to electronics?
I said this is going to inadvertently end up in customer communication, maybe we shouldn't be implying the word "fuck" to customers.
Management agreed and had it renamed... to foobar.