聊聊foobar是什么?
聊聊foobar是什么?
大一时看很多老外的文档,总是看到一个叫foobar
的词,当时倒不是纠结这个词到底是什么意思,因为看到这个词使用的场景大多是代码示例段、示例变量名等一些无意义的地方,猜也能猜到这个词大概率没啥含义,可能是个拼接起来的词,更多的是一种规范,就像是Hello World或者test123这种。但当时还是很好奇,这个foobar的来源到底是什么呢?今年国庆闲的无聊,好好查了一下foobar的来源,记录下来当个消遣
“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”的影响。
在随后的二战中,因为英美士兵经常 用俚语和粗话交流,“foo”一词就被更广泛的传开了。人们把被雷达追踪到的神秘飞行物称为“foo战机”(“foo fighter”),就是后来所谓的UFO。而当英国士兵回防时,往往也会刻下“foo到此一游”(“Foo was here.”)的字眼。
而关于“foobar”,也可以追溯到二战时期军队中的粗话缩写“FUBAR”。“FUBAR”的含义是用到烂再大修(Fucked Up Beyond All Repair),后来演变成了“foobar”。
其实我们可以把“foo”理解成张三李四, 或者"某某",但真正了解“foo”及“foobar”等词的含义,还是能使我们更好的理解英文文档,避免产生不必要的歧义。
术语 foobar , foo , bar , baz 和 qux 经常在计算机编程或计算机相关的文档中被用作 占位符 的名字。当变量,函数,或命令本身不太重要的时候, foobar , foo , bar ,baz 和 qux 就被用来充当这些实体的名字,这样做的目的仅仅是阐述一个概念,说明一个想法。这些术语本身相对于使用的场景来说没有任何意义。Foobar经常被单独使用;而当需要多个实体举例的时候,foo,bar,和baz则经常被按顺序使用。
在计算机程序设计与计算机技术的相关文档中,术语foobar是一个常见的无名氏化名,常被作为“伪变量”使用。 从技术上讲,“foobar”很可能在1960年代至1970年代初通过迪吉多的系统手册传播开来。另一种说法是,“foobar”可能来源于电子学中反转的foo信号;这是因为如果一个数字信号是低电平有效,那么在信号标记上方一般会标有一根水平横线,而横线的英文即为“bar”。在《新黑客辞典》中,还提到“foo”可能早于“FUBAR”出现。