变量foo 和 bar的由来

来源:互联网 发布:在线兼职美工 编辑:程序博客网 时间:2024/05/21 11:36

          在计算机程序设计与计算机技术的相关文档中,术语foobar是一个常见的无名氏化名,常被作为“伪变量”使用。

    单词“foobar”或分离的“foo”与“bar”常出现于程序设计的案例中,如同Hello World程序一样,它们常被用于向学习者介绍某种程序语言。“foo”常被作为函数/方法的名称,而“bar”则常被用作变量名。

     下面是一段通过“foo”和“bar”来演示如何在JavaCC++中连接两个字符串的实例程序:


不管是java,C++,还是PHP,每次都能看到 foo = bar 的例子,这两个单词很恶心,foo查不到字典,bar的解释又让人跟编程联系不上,更弄不清楚这个神秘的foo是个什么关系。

语意不清,学起来心里老是有疙疙瘩瘩的感觉,于是查吧,终于揭开了这两个东西的不正常关系,讲个各个处在闹心中的初学者们听吧。

参考了众多的网络资料,最后,明确的告诉大家,foo和bar就是外国人的张三、李四、王二麻子,只是一种随便的命名方式。跟c语言里面的i,j,k同出一辙。

就是说foo = bar 跟 变量张三 = 李四的侄子 一个意图,所以童鞋们就不要再找foo到底是个啥了。

问foo是啥就跟问张三是谁一样,我想外国人一定也很想知道,张三到底是谁,这个人怎么这么有名,总能看到这个名字,但是历史上记载却又找不到他。

----------------------------------------------------------------------------------------------

百度百科解释:

Foo:本意指程序员用来代表数据、功能或命令的变量。O'Reilly媒体认为FOO是Friends of O'Reilly的缩写,并把他们在2003年举办的年会命名为“2003 FOO”。现在则更多地指声势浩大的某行业大会。

foo = fuck oriented object

foo是"你要让它是什么就是什么"。FOO可以具有用户赋于的任何意义。

foo-------------潦草的意思!表示很随便的定义!

foo的意思是:Factory Of Objects

foo:一塌糊涂 或者 bar:一团糟

foo

不同的字典对其解释相去甚远,一说来自中国“福”字的发音,又有解释为二战时期的一种武器。然而若把众多的解释放在编程领域,关于 foobar的说法是我认为最为贴切的解释。foobar又为foo-bar,其中bar是beyond all recognition的缩写,通俗点就是无法识别,一塌糊涂的意思。而foo是fu的变体,fu是英语习语fuck-up的缩写,同样是一团糟的意思。于是,若你有些编程经验,我想你应该已经明白了为何如今许多编程实例所涉及的事物均被冠名为foo.

1. 介绍

至今约有212 个RFC, 或者约7%的RFC, 从[RFC269]开始,包括了术语'foo','bar' 或'foobar'作为伪变量而没有任何适当的解释或定义。这可能被认为是微不足道的,但一些新来者,特别是那些非英语国家的人,在理解这些术语时会遇到困难。本文纠正这一问题。

2. 定义和语源

bar /bar/ n. [JARGON]

1. 第二个伪变量,在foo 之后而在baz 之前。

"Suppose we have two functions: FOO and BAR. FOO calls BAR...."

2. 经常加在foo 后面构成foobar。

foo /foo/

1. interj. 令人反感的术语。

2. 用于任何东西的一般的名称,特别是程序和文件(特别是草稿文件)。

3. 用于语法例释的标准伪变量表中的第一个(bar, baz, qux, quux, corge,grault, garply, waldo, fred, plugh, xyzzy, thud). [JARGON]

当连接'bar' 时通常可以追溯到二战时军中的俚语FUBAR (`[censored] Up Beyond All Repair'),最后演变成了foobar。早期版本的Jargon File [JARGON]称这一变化是战后的修正,但现在看来更像是FUBAR 本身是'foo'的衍生词。可能是受到了德语'furchtbar'(可怕的) 的影响 -- 也许最初形式是'foobar'。


0 0