程序示例中为何总是有foo之类的函数?

     “foo” 和“foobar”等单词经常会作为示例名称,出现在各种程序和技术文档中。据统计,在各种计算机和通信技术文档中,大约有百分之七的文档出现了这些词 语。可是这些文件都没有为它们给出合适的解释。虽然这不是个大问题,但对于初学者,尤其是母语非英语的人来说,这些单词往往会带来不小的迷惑。本文就介绍 一下这些单词的含义和来历。

      虽然正式文件中对于“foo”的语源没有详细的记载,但我们仍可以从它的发展历史中,捋清一些脉络。

      “foo” 一词最早出现在一些二战前的漫画和卡通作品中。在关于消防队员的漫画“Smokey Stover”中,作者Bill Holman大量的使用了“foo”一词。这部漫画连载于1930至1952年,在其中,“foo”这个词经常出现在汽车车牌上和一些没有意义的对话中, 例如:“He who foos last foos best”或 “Many smoke but foo men chew”等。根据作者自己介绍,“foo”是根据某种中国的小雕像底部的文字得来的。这听起来很有道理,因为中国的雕像往往都会刻上祝福的文字,而 “foo”可能是“福”的音译。不过英文文法能接纳Holman的“foo”这个编造的单词,也是受了犹太语中“feh”和英文中“fooey”及 “fool”的影响。

       Holman在漫画中还描绘一种很有特色的二轮消防车,并取名为Foomobile。因为他的漫画在上个世纪三十年代极为流行,以至于一度有传言说印弟安那州已经生产出了这种可以使用的Holman式Foomobile。

       根据美国漫画百科全书 (Encyclopedia of American Comics, EAC) 的讲法,“Foo”一词曾在美国掀起一阵狂热,它被用到了很多流行歌曲中,并产生了超过五百个“Foo俱乐部”。华纳公司在1938年制作的动画片“达菲 鸭”中,也使用了“foo”这个词。虽然“foo”广泛的融入了流行文化中,但它的起源却被人遗忘了。

       在随后的二战中,因为英美士兵经常 用俚语和粗话交流,“foo”一词就被更广泛的传开了。人们把被雷达追踪到的神秘飞行物称为“foo战机”(“foo fighter”),就是后来所谓的UFO。而当英国士兵回防时,往往也会刻下“foo到此一游”(“Foo was here.”)的字眼。

       而关于“foobar”,也可以追溯到二战时期军队中的粗话缩写“FUBAR”。“FUBAR”的含义是用到烂再大修(Fucked Up Beyond All Repair),后来演变成了“foobar”。

       总结:虽然有时我们可以把“foo”理解成张三李四之类的中文意思,但真正了解“foo”及“foobar”等词的含义,还是能使我们更好的理解英文文档,避免产生不必要的歧义。

posted @ 2011-05-27 10:39  dotNET程序猿  阅读(2002)  评论(0编辑  收藏  举报