Los términos foobar ( / ˈf uːb ɑːr / ), foo , bar , baz , qux, quux , [1] y otros se utilizan como variables metasintácticas y nombres de marcadores de posición en la programación informática o la documentación relacionada con la informática. [2] Se han utilizado para nombrar entidades como variables , funciones y comandos cuya identidad exacta no es importante y solo sirven para demostrar un concepto. La guía de estilo para la documentación para desarrolladores de Google recomienda no utilizarlos como nombres de proyectos de ejemplo porque no son claros y pueden causar confusión. [3]
Es posible que foobar sea una alusión lúdica a la jerga militar de la Segunda Guerra Mundial FUBAR ( Jodido más allá de todo reconocimiento) . [4]
Sin embargo, hay que tener en cuenta que la palabra foopaw era una palabra del dialecto de Nantucket que significaba "un trabajo chapucero", aparentemente derivada del francés faux pas , [5] citado de "There She Blows - The Log of the Arethusa" (1877) de William H. Macy.
Según un RFC del Internet Engineering Task Force , la palabra FOO se originó como una palabra sin sentido con su primer uso documentado en el cómic de la década de 1930 Smokey Stover de Bill Holman . [6] Holman afirma 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 , que supuestamente significaba "buena suerte". [7] Si es cierto, esto presumiblemente está relacionado con la palabra china fu ("福", a veces transliterado foo , como en foo dog ), que puede significar felicidad o bendición . [8]
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 . [9] El uso de foo en un contexto de programación generalmente se atribuye al Tech Model Railroad Club (TMRC) del MIT desde c. 1960. [ 2] En el sistema de modelo complejo, había interruptores de parada de emergencia ubicados en numerosos lugares alrededor de la habitación que podían activarse si algo indeseable estaba a punto de ocurrir, como un tren que se mueve a plena potencia hacia una obstrucción. Otra característica del sistema era un reloj digital en el tablero de despacho. Cuando alguien presionaba un interruptor de parada de emergencia, el reloj se detenía y la pantalla se reemplazaba con la palabra "FOO"; en TMRC, los interruptores de parada de emergencia se llaman, por lo tanto, "interruptores Foo". Debido a esto, una entrada en el Diccionario del lenguaje TMRC de 1959 decía algo así: "FOO: La primera sílaba de la frase de canto sagrado mal citada ' foo mane padme hum '. Nuestra primera obligación es mantener los contadores foo girando". [10] 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 uso general y a menudo se reutilizaban 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 uso general. Una entrada en el Diccionario abreviado del lenguaje TMRC dice: [11]
Botón de descarga múltiple: botón para detener todos los trenes. La mejor alternativa al botón rojo de la puerta. También se denomina FOO. Cuando se utiliza, muestra "FOO" en el reloj.
Foobar se utilizó como nombre de variable en el código Fortran de Colossal Cave Adventure (versión de Crowther y Woods de 1977). La variable FOOBAR se utilizó para contener el progreso del jugador al decir la frase mágica "Fee Fie Foe Foo", una frase de una cuarteta histórica del clásico cuento de hadas inglés Jack y las habichuelas mágicas . Intel también utilizó el término foo en su documentación de programación en 1978. [12]
Asegúrate de que el nombre sea aplicable al entorno del usuario. No utilices términos poco claros como foo, bar y baz.
Además, es posible buscar una dirección efectiva; por ejemplo, si se utilizara una instrucción como "add 1 foo", especificando direccionamiento indirecto a través de la ubicación "foo", y la ubicación "foo" contuviera la dirección de la ubicación "foobar", entonces una búsqueda de palabras efectiva para "foobar" encontraría también la ubicación "foo" y la ubicación que contiene la instrucción "add".