El términos foobar ( / f U b ɑr / ), foo , bar , baz , y otros se utilizan como variables de metasintácticas y nombres de marcadores de posición en la programación de ordenadores o la documentación relacionada por ordenador. [1] Se han utilizado para nombrar entidades como variables , funciones y comandos cuya identidad exacta no es importante y solo sirven para demostrar un concepto.
Historia y etimología

La etimología de foobar se podría derivar de la Segunda Guerra Mundial el argot militar -era FUBAR , que fue expurgado a foobar . [2] La palabra foo por sí sola se usó anteriormente. Entre 1930 y 1952 apareció en el cómic Smokey Stover de Bill Holman , quien declaró que usó la palabra debido a que la había visto en la parte inferior de una figura china de jade en el barrio chino de San Francisco , supuestamente significando "buena suerte". [3] Si es cierto, esto está relacionado con la palabra china fu ("福", a veces transcrito foo , como en foo dog ), que puede significar felicidad o bendición . [2]
El primer uso conocido de los términos impresos en un contexto de programación aparece en una edición de 1965 de Tech Engineering News del MIT . [4] Foobar puede haber surgido como resultado de la combinación del "Foo" preexistente con "bar", una adición tomada del FUBAR de los militares. El uso de foo en un contexto de programación generalmente se le atribuye al Tech Model Railroad Club (TMRC) del MIT desde alrededor de 1960. [1] En el complejo sistema de modelos, había interruptores scram ubicados en numerosos lugares alrededor de la habitación que podían ser lanzados. si algo indeseable estaba a punto de ocurrir, como un tren que avanza a toda velocidad contra una obstrucción. Otra característica del sistema era un reloj digital en el tablero de despacho. Cuando alguien oprimió un interruptor, el reloj se detuvo y la pantalla fue reemplazada por la palabra "FOO"; en TMRC, los interruptores scram se denominan, por lo tanto, "interruptores Foo". Debido a esto, una entrada en el Diccionario de la Lengua TMRC de 1959 decía algo como esto: "FOO: La primera sílaba de la frase del canto sagrado mal citada ' foo mane padme hum '. Nuestra primera obligación es mantener los contadores de foo girando ". [5] Un libro [ ¿cuál? ] que describe la sala de trenes del MIT describe dos botones junto a la puerta etiquetados como "foo" y "bar". Estos eran botones de propósito general y a menudo se rediseñaban para cualquier idea divertida que los hackers del MIT tuvieran en ese momento, de ahí la adopción de foo y bar como nombres de variables de propósito general. Una entrada en el Diccionario abreviado del idioma TMRC dice: [6]
Multiflush: botón de parada de todos los trenes. Lo mejor después del botón rojo de la puerta. También se llama FOO. Muestra "FOO" en el reloj cuando se usa.
El cambio de la expresión militar FUBAR a foobar también puede haber sido impulsado por esta última como un juego de palabras de ciencias de la computación. Dado que las barras superiores designan números decimales repetidos, la palabra foobar también significa un número en hexadecimal, una base que se usa típicamente en la programación de bajo nivel. Ese número es 0.F00F00F00 ..., que es igual a la fracción decimal 256/273. [ cita requerida ]
El término foobar se propagó a través de los círculos de la informática en la década de 1960 y principios de la de 1970 mediante manuales de sistemas de Digital Equipment Corporation . [ cita requerida ] Foobar también se usó como un nombre de variable en el código Fortran de Colossal Cave Adventure (1977 Crowther and Woods versión). La variable FOOBAR se utilizó para contener el progreso del jugador al decir la frase mágica "Fee Fie Foe Foo". Intel también utilizó el término foo en su documentación de programación en 1978. [7]
Ejemplo de uso en código
En este ¡Hola, mundo! El ejemplo de código en C , foo y bar se utilizan para ilustrar la sustitución de cadenas :
#include int main () { const char * foo = "Hola" ; const char * bar = "¡Mundo!" ; fprintf ( stdout , "% s% s \ n " , foo , bar ); return 0 ; }
En este ejemplo de código de Scheme , foobar se usa para ilustrar el nombre de una función:
( definir foobar ( lambda ( x ) ( mostrar x ))) ( foobar "¡Hola mundo!" )
En este ¡Hola, mundo! La muestra de código en Python , foo y bar se utilizan para ilustrar los nombres de las cadenas impresas en STDOUT .
foo = "Hola" bar = "Mundo" imprimir ( foo , bar )
En este ¡Hola, mundo! ejemplo de código en C # , foo y bar se utilizan para ilustrar los nombres de las cadenas.
string foo = "Hola" ; string bar = "Mundo" ; Consola . WriteLine ( foo + bar );
Ejemplos en lenguaje
- Foo Camp es una convención anual de piratas informáticos .
- BarCamp , una red internacional de conferencias generadas por usuarios
- Durante el juicio de Estados Unidos contra Microsoft Corp. , se presentaron algunas pruebas de que Microsoft había intentado utilizar la organización de interoperabilidad de servicios web como un medio para sofocar la competencia, incluidos los correos electrónicos en los que altos ejecutivos, incluido Bill Gates, se referían al WS-I utilizando el nombre en clave "foo". [8]
- foobar2000 es un reproductor de audio.
- Google utiliza una herramienta web llamada "foobar" para reclutar nuevos empleados. [9]
Ver también
- Foo luchador
- Foo estaba aquí
- xyzzy
- Categoría: Variable (informática)
Referencias
- ^ a b RFC 3092 - Etimología de "Foo"
- ^ a b "¿Qué significa foo?" . Dictionary.com . Consultado el 17 de agosto de 2019 .
- ^ "La historia de Bill Holman" . Stover de humo . 2007-06-13 . Consultado el 17 de agosto de 2019 .
- ^ Noticias de ingeniería tecnológica . 47 . Instituto de Tecnología de Massachusetts . 1965. pág. 63.
Además, es posible buscar una dirección efectiva; Por ejemplo, si se usara una instrucción como "agregar 1 foo", especificando el direccionamiento indirecto a través de la ubicación "foo", y la ubicación "foo" contenía la dirección de la ubicación "foobar", entonces una búsqueda de palabras efectiva para "foobar" encontraría la ubicación. "foo" y la ubicación que contiene la instrucción "agregar" también.
- ^ "Diccionario informático en línea" ., computer-dictionary-online.org
- ^ "Diccionario abreviado de la lengua TMRC" . Tech Model Railroad Club del MIT . Archivado desde el original el 2 de enero de 2018 . Consultado el 12 de marzo de 2013 .
- ^ Instrucciones de funcionamiento del ensamblador MCS-86 para usuarios de ISIS-II (A32 / 379 / 10K / CP ed.). Santa Clara, California, Estados Unidos: Intel Corporation . 1978. Núm . De pedido del manual 9800641A . Consultado el 29 de febrero de 2020 . [1] [2]
- ^ Mike Ricciuti (4 de julio de 2002). "Microsoft estratagema para bloquear Sun expuesto" . CNET . Consultado el 17 de agosto de 2019 .
- ^ Alistair Charlton (27 de agosto de 2015). "Google Foobar: cómo la búsqueda en la web le valió a un graduado de software un trabajo en Google" . Tiempos de negocios internacionales . Consultado el 17 de agosto de 2019 .
enlaces externos
- La entrada del archivo de jerga en "foobar" , catb.org
- RFC 1639 - Operación FTP sobre registros de direcciones grandes (FOOBAR)