delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/08/12/18:19:07

From: "Chris La Mantia" <lamantia AT gte DOT net>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Why does sizeof give me...
Date: 9 Aug 1997 02:10:48 GMT
Organization: gte.net
Lines: 95
Message-ID: <5sgjj8$pv9$1@gte2.gte.net>
References: <199708070224 DOT OAA03759 AT teleng1 DOT tait DOT co DOT nz gatekeeper.tait.co.nz> <m0wwaCI-0003IPC AT fwd05 DOT btx DOT dtag DOT de>
NNTP-Posting-Host: 1cust78.tnt1.columbia.mo.da.uu.net
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Georg Kolling <Georg DOT Kolling AT t-online DOT de> wrote in article
<m0wwaCI-0003IPC AT fwd05 DOT btx DOT dtag DOT de>...
> Bill Currie schrieb:
> > struct foo {
> > 	char snafu __attribute__((packed));
> > 	long bar __attribute__((packed));
> 
> Is there anywhere a factory that produces such strange var names?
> Or are they all hand-made? Somewhere I read 'booga', but my favourite
ones are 
> 'double half' and 'long ago' although they are 'real' names...

'foo' and 'bar' are "standard" metasyntactic variables.

For those unacquainted with metasyntactic variables, here's a snippet from
the Jargon File 4.0.0 (http://www.ccil.org/jargon/jargon.html):

metasyntactic variable /n./ 

A name used in examples and understood to stand for whatever thing is under
discussion, or any random member of a class of things under discussion. The
word foo is the canonical example. To avoid confusion, hackers never (well,
hardly ever) use `foo' or other words like it as permanent names for
anything. In filenames, a common convention is that any filename beginning
with a metasyntactic-variable name is a scratch file that may be deleted at
any time. 

To some extent, the list of one's preferred metasyntactic variables is a
cultural signature. They occur both in series (used for related groups of
variables or objects) and as singletons. Here are a few common signatures: 

foo, bar, baz, quux, quuux, quuuux...: 
MIT/Stanford usage, now found everywhere (thanks largely to early versions
of this lexicon!). At MIT (but not at Stanford), baz dropped out of use for
a while in the 1970s and '80s. A common recent mutation of this sequence
inserts qux before quux. 

bazola, ztesch: 
Stanford (from mid-'70s on). 

foo, bar, thud, grunt: 
This series was popular at CMU. Other CMU-associated variables include
gorp. 

foo, bar, fum: 
This series is reported to be common at XEROX PARC. 

fred, barney: 
See the entry for fred. These tend to be Britishisms. 

corge, grault, flarp: 
Popular at Rutgers University and among GOSMACS hackers. 

zxc, spqr, wombat: 
Cambridge University (England). 

shme 
Berkeley, GeoWorks, Ingres. Pronounced /shme/ with a short /e/. 

snork 
Brown University, early 1970s. 

foo, bar, zot 
Helsinki University of Technology, Finland. 

blarg, wibble 
New Zealand. 

toto, titi, tata, tutu 
France. 

pippo, pluto, paperino 
Italy. Pippo /pee'po/ and Paperino /pa-per-ee'-no/ are the Italian names
for Goofy and Donald Duck. 

aap, noot, mies 
The Netherlands. These are the first words a child used to learn to spell
on a Dutch spelling board. 


Of all these, only `foo' and `bar' are universal (and baz nearly so). The
compounds foobar and `foobaz' also enjoy very wide currency. 

Some jargon terms are also used as metasyntactic names; barf and mumble,
for example. See also Commonwealth Hackish for discussion of numerous
metasyntactic variables found in Great Britain and the Commonwealth. 

---------------------------------------------------------------------------
Chris La Mantia / lamantia AT gte DOT net
Current Project: Infinite Worlds, an RPG with a dynamic world
http://home1.gte.net/lamantia/infinite
NO UNSOLICITED COMMERCIAL E-MAIL ACCEPTED


 

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019