Foo 和 Bar 的故事

我们在学习编程语言的时候, 经常会在例程中看到foo和bar这样的函数名.

如果你和我一样也注意到了这个问题, 有没有想过为什么这两个词会这么普遍的存在呢? 难道是巧合吗? 答案是否定的, 下面请随我一起去探寻foo和bar的真正起源!

经过一番努力的Google后, 找到了RFC3092 - Etymology of “Foo”, 原来和中国还有一定的关系!

RFC3092 “Foo”的词源.

至今大约有212 个RFC, 从RFC269 开始, 包含了术语foo和bar作为伪变量, 却没有任何适当的解释或定义. 这本来不是重点, 但对一些新来的人, 特别是那些非英语国家的人, 在理解这些术语时会遇到困难. 本文纠正这一问题.

出现在技术文档的最早实证:

广泛使用的伪变量;语源参考foo。 最初可能在60年代到70年代早期通过数字设备公司(DEC) 的DEC 系统手册传播的;能确证的目击例可以追溯到1972年。热心者一般不使用其表示FUBAR, 无论是作为俚语还是作为专业术语。这似乎暗示”foobar”部分的在早期计算机工程师中传播,由于FUBAR,部分也因为”foo bar”听起来象电子技术术语反转的foo信号。

中国餐馆门前的石狮子:

似乎’foo’ 这个词在战前的漫画和卡通中可以找到历史。 在1938年华纳兄弟卡通公司Robert Clampett 指导的”The Daffy Doc”,Daffy Duck 的早期版本,有一句口号”SILENCE IS FOO!”。’FOO’和’BAR’ 也在Walt Kelly的连环漫画”Pogo”中出现。最早有文献记载的使用是在Bill Holman 的描写一个消防队员的超现实主义连环漫画”Smokey Stover” 中。从1930到1952年间该连环漫画出现在许多美国漫画中,包括”Everybody’s”。 它经常在汽车的车牌中包含单词”FOO”, 在背景画面中无意义的话中,如”He who foos last foos best”或”Many smoke but foo men chew”,Smokey说”Where there’s foo, there’s fire”。Bill Holman,该漫画的作者,在其中充满了奇妙的笑话和个人发明,包括其它无意义的短语如”Notary Sojac”和”1506 nix nix”。依照华纳兄弟卡通公司WBCC的说法,Holman是在一个中国小雕像的底部发现”foo” 这个词的。这是个似是而非的说法;中国的小雕像经常有避邪用的题字,这可能是中文”福”(有时候音译为”foo”), 当发音正确时意为”幸福”(立在许多中餐馆侧面的狮子—狗型守护神正确的称呼是”fu dogs”)PERS。 说英语的人认为Holman的”foo”这个无意义的词毫无疑问的受到Yiddish 语的”feh”和英语的”fooey”以及”fool:的影响。

漫画中的两轮消防车名:

Holman的漫画描写了一台两轮消防车名叫Foomobile。 该系列漫画在1930年代后流行极了,传说Indiana 的一个制造商甚至造出了一台可操作的Foomobile。 按照美国漫画百科全书EAC 的说法,’Foo’ 热横扫美国,在流行歌曲和超过500个’Foo 俱乐部’ 中可以找到证据。作为流行的遗迹’foo’ 嵌入了流行文化(包括华纳兄弟卡通公司1938-39的the couple of appearances) 但它的起源被迅速遗忘了。

雷达上神秘的UFO:

二战后该术语在美国军队仍存留下来。在1944-45 年,术语’foo fighters’ FF 被雷达操作员用来描述一种神秘的或伪造的轨迹。那后来被称为UFO( 在1995年通过一个叫Better grunge-rock bands BFF 的词老的术语又重新露面)。据信它和漫画Smokey Stover 有关。

英军巡查官的涂鸦:

战争中美国和英国军队经常交换俚语。Period sources报告说二战中’FOO’变成了半传奇式的主题,英国军队的涂鸦或多或少等于美国的Kilroy WORDS。 英国军队走到哪里,都会涂上”FOO was here”或者类似的话。几本俚语字典断言FOO 来自前线巡查官,但这(像同时代的”FUBAR”)也许是backronym JARGON。 40年后,Paul Dickson的优秀著作”Words” WORDS追踪”Foo”到了一个不明的英国海军杂志,引用如下: “Mr. Foo is a mysterious Second World War product, gifted with bitter omniscience and sarcasm.”

地下漫画家亲手毁掉的手稿:

更早版本的Jargon File 暗示其用法的可能来自”FOO, Lampoons and Parody”,1958 年发行的一本漫画的标题,Charles 和Robert Crumb合作的一个项目。尽管Robert Crumb(在他后来十几年)后来成了最重要最有影响力的地下漫画作家,这次成功相当艰难;实际上,因为厌恶,兄弟俩后来烧掉了大部分的拷贝。标题FOO 用大号字印在封面上。然而,非常少的拷贝确实流传了下来,Crumb ‘全集’的学生确定它参考的是较早的Smokey tover 漫画。Crumb的作品可能也受到1951-52年出版的的短命加拿大滑稽杂志”Foo”的影响。

TMRC语言字典中的词条:

一个old-time成员报告说在1959年TMRC(MIT 的技术模型铁路俱乐部)编译的”TMRC语言字典” 中有Foo 的词条。当前在线版本中的”Foo” 是唯一标记为红色的词,有如下内容: Foo: The sacred syllable (FOO MANI PADME HUM); to be spoken only when under obligation to commune with the Deity. Our first obligation is to keep the Foo Counters turning. 这个定义用了Bill Holman 的无意义的词,流行之后20年且确实存在流行文化和俚语中,使一个”ha ha only serious”象西藏佛教一样深奥。今天的人会发现很难抵挡这样精心制作的笑话,而不象1959年代的人那样不易 受感染。

古代王子的名字:

王子Foo 是Pheebor 最后的统治者,和Phee Helm 的所有者,在rgign of Entharion之前约400 年。当Foo 被来自Borphee 的叫作”eastern fop” 的什么人砍头时,Pheebor 的显赫时代结束了,而Borphee越升到它现在的位置。

古代用来指恶魔或敌人:

一个13-16 世纪用法,指恶魔或任何敌人。最早的引用是在1366年,Chaucer A B C (84): “Lat not our alder foo devil make his bobance boast”。Chaucer的”Foo”可能是现代英语的”foe”

稀有种类的狗:

波美拉尼亚丝毛狗被认为灭绝很长时间后又被发现了,中国的Foo 狗,或新疆的神狗,可能起源于越过北欧的猎狗和远古的蒙古中国狗或者中国狼和中国狗的杂交种。它可能由foochow, 或流行在Foochow 的种或风格,或者从中国东南部城市Foochow (现在Minhow)得名。