Opinión

Curiosidad: De dónde vienen foo, bar y foobar

Si revisáis código o documentación de otros programadores, tarde o temprano os toparéis con dos nombres que aparecen una y otra vez: foo y bar. Sirven como variables, funciones o ficheros de ejemplo cuando el nombre concreto da igual y solo se quiere ilustrar una idea. Pero ¿de dónde salen exactamente estas palabras que no significan nada? La respuesta mezcla cómics de los años treinta, jerga militar de la Segunda Guerra Mundial, ovnis y un club de trenes en miniatura del MIT.

Qué son foo y bar

foo y bar son lo que se conoce como variables metasintácticas: marcadores de posición que no tienen significado por sí mismos y que se usan para nombrar entidades (variables, funciones, comandos) cuya identidad exacta no importa, solo demostrar un concepto. Cuando se necesita una sola, se usa foo; cuando hacen falta varias, aparecen bar, baz y compañía.

No son las únicas. Existe toda una lista ”estándar” de relevo: después de foo, bar y baz vienen qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy y thud. Pero foo y bar ganaron la partida, y por razones más culturales que técnicas.

Origen de foo: un cómic y unos ovnis

Al contrario de lo que mucha gente cree, foo no nació en la informática ni en el ejército. Es una palabra sin sentido que ya circulaba en la cultura popular estadounidense de los años treinta. Aparecía como gag recurrente en la tira cómica Smokey Stover, donde la sílaba “foo” se colaba en carteles y grafitis a lo largo de las viñetas.

De ahí saltó a la jerga militar. Durante la Segunda Guerra Mundial, los pilotos aliados llamaban foo fighters a diversos fenómenos aéreos inexplicables y supuestos ovnis. La palabra, en definitiva, ya estaba “en el aire” mucho antes de que nadie escribiera una línea de código.

Origen de bar: el famoso FUBAR

Aquí entra la explicación más repetida, y también la más matizable. La unión foobar se asocia habitualmente con el acrónimo militar de la Segunda Guerra Mundial FUBAR (Fucked Up Beyond All Recognition, algo así como “estropeado más allá de toda reparación”).

La idea es que la palabra foo, ya existente, se fusionó con el -bar del militar FUBAR para dar foobar, y que de ahí se separó después en foo y bar como dos marcadores independientes. Conviene tomarlo con cautela: lo más probable es que FUBAR no creara el término, pero sí que contribuyera de forma notable a popularizarlo. Es la misma clase de etimología popular que rodea a otras palabras del argot técnico: una historia limpia montada sobre un origen bastante más enredado.

El salto a la programación: el MIT

El uso de foo en círculos técnicos se atribuye generalmente al Tech Model Railroad Club (TMRC) del MIT, el legendario club de trenes en miniatura del que salió buena parte de la primera cultura hacker. Allí encontramos el primer uso documentado de “foo” en este ambiente hacia finales de los años cincuenta.

A partir de 1964, foo y bar se consolidaron como variables metasintácticas en los trabajos del MIT y de DEC, en torno a LISP, el PDP-1 y el Project MAC. La primera aparición conocida en letra impresa en un contexto de programación data de una edición de 1965 de la revista Tech Engineering News del MIT.

La curiosidad dentro de la curiosidad: un RFC para foo

Que estas dos palabrejas sin significado importan lo bastante como para merecer un documento oficial lo demuestra el RFC 3092, titulado literalmente “Etymology of Foo”. Los RFC (Request for Comments) son los documentos técnicos que definen buena parte de los estándares de internet, así que tener uno dedicado a la historia de foo ya es de por sí simpático.

El detalle que lo redondea: se publicó el 1 de abril de 2001. Es decir, es uno de los tradicionales RFC humorísticos del Día de los Inocentes anglosajón (April Fools’ Day). Aun así, recopila con bastante rigor las distintas teorías sobre el origen de estas palabras y la lista completa de variables metasintácticas.

Lo que pudo haber sido

Para terminar, una nota de “y si…”. En documentos antiguos del MIT se usaban también otras variables de relleno que nunca llegaron a triunfar: CROCK, GLITCH, POOT, TOOR, SNAP, CRACKLE, POP. Si la historia hubiera ido por otro lado, hoy estaríamos pasando un objeto CRACKLE a una función POOT.

¿Por qué ganaron foo y bar? La explicación más sencilla es también la más convincente: son cortas, fáciles de teclear y suenan bien juntas. En los tiempos de los teletipos y las primeras terminales, cada pulsación contaba, y nadie quería escribir variable_de_ejemplo_uno cuando podía escribir foo.

Conclusiones

foo y bar son el ejemplo perfecto de cómo una convención técnica puede no tener ninguna justificación técnica. No mejoran nada, no significan nada y podrían haber sido perfectamente otras palabras. Persisten por la misma razón que el número 42 como semilla: porque son una broma compartida, una contraseña cultural que dice “esto es solo un ejemplo, no le des más vueltas”. Y, de paso, esconden un cómic de los años treinta, unos ovnis de guerra y un club de trenes en miniatura.

Imagen de Willi-van-de-Winkel en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Curiosidades

Recent Posts

BG/NBD + Gamma/Gamma: el modelo probabilístico para CLV en compras continuas

Los dos artículos anteriores cubrieron el CLV clásico —una fórmula útil pero que trata a…

2 días ago

Errores habituales al trabajar con DataFrames grandes en Pandas (y cómo evitarlos)

Hay un momento muy concreto en la vida de casi todo análisis: el código que…

1 semana ago

Champion vs Challenger: Cómo los Bancos Validan Modelos Nuevos antes de Ponerlos en Producción

Has construido un nuevo modelo de credit scoring. Las métricas de validación son mejores que…

1 semana ago

Cómo Comparar Dos Hipotecas con Todos los Gastos Incluidos

Comparar dos hipotecas parece sencillo: la que tenga el TIN más bajo es la mejor…

2 semanas ago

Segmentación RFM: cómo clasificar tu cartera de clientes antes de calcular el CLV

En un artículo anterior vimos la fórmula clásica del CLV junto a sus limitaciones. Una…

2 semanas ago

Los récords con asterisco, o la épica del titular sin contexto – El bestiario de los indicadores económicos absurdos (parte 8 y final)

Y llegamos al final de una serie que había programado para ser de tres entradas.…

3 semanas ago

This website uses cookies.