foo和bar的起源是什么?

Bry*_*eld 32 history metasyntactic-variable

它们来自哪里,何时首次使用?

Hug*_*ugo 62

TL;博士

  • 麻省理工学院和DEC推广了"Foo"和"bar"作为metasyntactic变量,第一个参考是从1964年起开始研究LISP和PDP-1以及项目MAC.

  • 其中许多人都在麻省理工学院的技术模型铁路俱乐部,在那里我们发现1959年科技界首次记录了"foo"的使用(以及1958年的一个变种).

  • "foo"和"bar"(甚至"baz")在流行文化中都是众所周知的,特别是来自Smokey Stover和Pogo漫画,这些漫画将被许多TMRC成员阅读.

  • 此外,军方FUBAR似乎有可能为他们的受欢迎程度做出贡献.


在20世纪初的流行文化中,使用单独的"foo"作为无意义的词,军事FUBAR也是如此.(一些背景阅读: FOLDOC FOLDOC 术语文件 行话文件 维基百科 RFC3092)


好的,让我们找一些参考资料.

停止新闻!在发布这个答案之后,我在1938年1 14日的The Tech("麻省理工学院历史最悠久,规模最大的报纸和网上发布的第一份报纸")第五卷第一期中发现了这篇关于"foo"的完美文章.第57号,第三价:

在Foo-ism

Lounger认为Foo-ism的这项业务因其被误导的支持者而走得太远,并且立即采取反对其滥用的立场.可能是因为没有像老foo那样的foo,我们就是这样,但无论如何,foo和他的钱都是派对.(来自露天看台的声音 - "不要f!!")

作为一个咒骂,当然,"foo!" 在我们的语言中有一个明确的,可能是不可替代的立场,尽管我们担心它目前遭受的过度使用可能会导致它陷入早期(并且,唉,黑暗)的遗忘.我们说唉,因为正确使用这个词可能会导致如下的快乐事件.

这是斯莱特教授在6-120室的8.50热力学讲座.教授盖住了黑板的正面,设置了操作升降机构的手柄,同时转向课堂继续他的讨论.前面的板子慢慢地,庄严地抬起,露出了它背后的板子,在那块板上,写着大片,拼写为"FOO"的符号!

科技报,一年前,致编辑的信,1937年 9 :

当火车到达车站时,新手充满了Phi Omicron Omicron(通常被称为Foo)的荣耀故事,他们很容易被捕食.

...

我不介意失去我的前四个儿子到Phi Omicron Omicron的Grand和Universal Brotherhood,但我确实希望我的第五个儿子,我的孩子,至少应该事先得到警告.

希望你的,

愤怒的五个母亲.

技术1938年12 :

从投票结束时的评论中可以最好地解释一般思潮.一票表示,"我不认为我做的是Pulver的任何业务,"而另一个只是添加了一个简短的"Foo".


首次有记载"富"在技术圈里大概是1959年的TMRC语言字典:

FOO:神圣的音节(FOO MANI PADME HUM); 只有在与神灵交往的灵感之下才能说出来.我们的首要任务是保持Foo计数器的转变.

这些在FOLDOC解释.字典的编译器Pete Samson在2005年说:

在TMRC使用这个词早于我的到来.foo计数器可以简单地随机闪烁,或者可以是具有模糊输入的真实计数器.

从1996年的Jargon File 4.0.0开始:

这个词典的早期版本衍生出'baz'作为斯坦福腐败的酒吧.然而,Pete Samson(TMRC词典的编译者)报告说,当他于1958年加入TMRC时,它已经是最新的.他说"它来自"Pogo".All the Alligator,在烦恼或愤怒时,会大喊"Bazz Fazz!" 还是'Rowrbazzle!' 据说,俱乐部的布局模拟了(神话般的)新英格兰郡的Rowrfolk和Bassex(Rowrbazzle与(Norfolk/Suffolk/Middlesex/Essex)混合).

在TMRC词典的前一年,1958年的MIT Voo Doo Gazette(麻省理工学院院长办公室的幽默补充)(PDF)提到了Foocom,由John Banzhaf(电气工程专业学生)撰写的"墨菲律法" :

根据Foocom和Anarcom联合拨款进行的进一步研究扩大了法律,使其全部受到欢迎并普遍适用:如果出现任何问题,它将会出错!

此外1964年的MIT VOO斗(PDF)引用TMRC用法:

是! 我想成为一个即时的成功和雪客户.给我一个学位:...

  • Foo Counters

  • Foo Jung


让我们在代码示例中找到"foo","bar"和"foobar".

因此,Jargon File 4.4.7说"foobar":

可能最初是由数字设备公司(DEC)在20世纪60年代和70年代初通过DEC系统手册传播的; 确认目击地可追溯到1972年.

我能找到的第一个发表的参考文献是1964年 2 ,但是1963年6月写的,编程语言LISP:信息国际公司的运作和应用,有许多作者,但包括Timothy P. Hart和Michael Levin:

因此,由于"FOO"是其自身的名称,"COMITRIN"将以完全相同的方式对待"FOO"和"(FOO)".

还包括其他metasyntactic变量,如:FOO CROCK GLITCH/POOT TOOR/ON YOU/SNAP CRACKLE POP/XYZ

我希望这与1964年1 AIT-064的麻省理工学院项目MAC中的"foo"的下一个参考文献大致相同,或者是Timothy P. Hart和Michael Levin的LISP练习:

汽车[((FOO.CROCK).GLITCH)]

它分享了许多其他的易感变量,如:CHI /波士顿纽约/ SPINACH BUTTER STEAK/FOO CROCK GLITCH/POOT TOOP/TOOT TOOT/ISTHISATRIVIALEXCERCISE/PLOOP FLOT TOP/SNAP CRACKLE POP/ONE TWO THREE/PLANE SUB THRESHER

对于"foo"和"bar"两者而言,我能找到的最早的参考资料来自麻省理工学院1966年6 的AIM-098 项目MAC ,或者是Peter Samson的PDP-6 LISP:

与PRIN1一样,EXPLODE插入斜杠,因此(EXPLODE(QUOTE FOO/BAR))PRIN1为(FOO ///BAR)或PRINC为(FOO/BAR).


一些更多的重新计算.

@Walter Mitty在2008年的网站上回忆道:

关于Foo Bar我的第二个行话文件.我至少可以追溯到1963年和PDP-1序列号2,它位于麻省理工学院26号楼的二楼.Foo和Foo Bar在那里使用,并且在1964年之后在项目MAC的PDP-6房间使用.

John V. Everett于1996年回忆:

当我在1966年加入DEC时,foobar已经被普遍用作丢弃文件名.我相信fubar变成了foobar,因为PDP-6支持六个字符名称,尽管我总是假设从MIT迁移到DEC的术语.当时在DEC有许多MIT类型,其中一些曾与7090/7094 CTSS合作过.由于709x也是一台36位机器,foobar可能已被用作常用文件名.

Foo和bar也常用作文件扩展名.由于当天的文本编辑器在输入文件上操作并生成输出文件,因此通常从.foo文件编辑到.bar文件,然后再返回.

在使用TECO进行编辑时,使用foo填充缓冲区也很常见.准确填充一个磁盘块的文本字符串是IFOO $ HXA127GA $$.我使用的几乎所有PDP-6/10程序员都使用相同的命令字符串.

Daniel PB Smith于1998年:

Dick Gruen在他的宿舍里有一个装置,通常是B电池,电阻器,电容器和NE-2氖管组合,他称之为"foo counter".这将大约在1964年左右.

Robert Schuldenfrei于1996年:

使用FOO和BAR作为示例变量名称至少可以追溯到1964年和IBM 7070.这也可能更旧,但这是我第一次看到它.这是在Assembler中.什么是FORTRAN整数等价?IFOO和IBAR?

Paul M. Wexelblat在1992年:

最早的PDP-1汇编程序使用两个字符作为符号(18位机器)程序员总是留下几个字作为补丁空间来解决问题.(跳转到补丁空间,做新代码,跳回)这个空间通常被命名为FU:它代表Fxxx Up,你修复Fxxx Ups的地方.说话时,它被称为FU空间.后来的汇编程序(例如MIDAS允许三个char标签,因此FU成为FOO,并且所有PDP-1程序员都会告诉你这是FOO空间.

布鲁斯·B·雷诺兹于1996年:

在FOO(FU)BAR的IBM方面,使用BAR侧作为基地址寄存器; 在1970年代中期,CICS程序员不得不担心各种xxxBAR ......我认为其中一个是FRACTBAR ......

这是1955年的直接IBM"BAR".


其他早期参考:


我没有找到任何对foo bar的引用,如RFC3092和其他地方所建议的那样"反向foo信号".

这里有一些甚至更早的F00,但我认为它们是巧合/误报:

  • 哇!这是一个**彻底的**答案! (15认同)

mth*_*mth 5

看一下维基百科上"foobar"的历史.

  • @luserdroog,你不应该因为**另一个答案的内容而低估答案**.这就像从银行偷东西,因为另一家银行更好. (6认同)
  • 有时像这样的简单问题会得到一些荒谬的赞成. (4认同)