Foobar

foobar是计算机程序领域里的术语,并无实际用途和参考意义。在计算机程序设计与计算机技术的相关文档中,术语foobar是一个常见的无名氏化名,常被作为“伪变量英语metasyntactic variable”使用。

历史

从技术上讲,“foobar”很可能在1960年代至1970年代初通过迪吉多的系统手册传播开来。另一种说法是,“foobar”可能来源于电子学中反转的foo信号( );这是因为如果一个数字信号是低电平有效(即负压或零电压代表“1”),那么在信号标记上方一般会标有一根水平横线,而横线的英文即为“bar”。在《新黑客辞典英语Jargon File》中,还提到“foo”可能早于“FUBAR”出现。[1]

在大约1930年至1952年之间,foo出现在比尔·霍尔曼英语Bill Holman (cartoonist)的漫画《Smokey Stover英语Smokey Stover》中,比尔·霍尔曼说他之所以使用这个词,是因为在旧金山唐人街的一个中国玉雕雕像的底部看到了这个词,据称它象征着“好运”。[2]这可能与汉字“福”有关,“福”有时被翻译为“'foo”。[3]

文字上的意思

英文

bar是beyond all recognition的缩写[4],字面上是“大大超出我的理解”的意思,通俗点就“一些乱七八糟的东西”的意思。

foo是fu的变体,fu是英语习语fuck-up的缩写[4],有“一团乱”的意思。

中文

在中文,常会在叙述故事时用二个虚构的人名去代表故事中的人物:“小明”与“小华”,此与英文中的foo与bar有相同的意思。在台湾,有时会使用另外二个草根性更强烈的人名去代表故事中的人物:“春娇”与“志明”。

例子

单词“foobar”或分离的“foo”与“bar”常出现于程序设计的案例中,如同Hello World程序一样,它们常被用于向学习者介绍某种程序语言。

“foo”“bar”常被作为函数/方法的名称或变量名。

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

//Java Code
String foo = "Hello, ";
String bar = "World";
System.out.println(foo + bar);
//Hello, World is printed to the screen by printing foo and bar


// C code

#include <stdio.h>

int main()
{
   char foo[] = "Hello,";
   char bar[] = "World!";
   printf("%s %s\n", foo, bar);

   return 0;
}
// C++ code

#include <iostream>
#include <string>
using namespace std;

int main()
{
   string foo = "Hello,";
   string bar = "World!";
   cout << foo << " " << bar << endl;

   return 0;
}
# Python code

foo = "Hello,"
bar = "World!"
print(foo + bar)

参见

  • 无名氏
  • FUBAR
  • foobar2000

参考文献

  1. ^ 《新黑客辞典》页面存档备份,存于互联网档案馆)(The Jargon File)
  2. ^ The History of Bill Holman. Smokey Stover. 2007-06-13 [2019-08-17]. (原始内容存档于2019-08-30). 
  3. ^ What does foo mean?. Dictionary.com. [2019-08-17]. (原始内容存档于2019-08-17). 
  4. ^ 4.0 4.1 6度XZ. 有趣的冷知識:編程中Foo, Bar 到底什麼意思?. 台部落. [2022-11-03]. (原始内容存档于2022-11-03). 

外部连接