jueves, diciembre 25, 2008

¿De donde viene foo?

No hacemos mas que ver en lisp como foo aparece como ejemplo de declaración de variable, o de nombre de función tonta. Ejemplo:
(labels ((foo (x)
(and (<= 0 x) (cons x (foo (1- x))))))
Así que después de buscar en google sobre el tema, me encuetro con una entrada en microsiervos que me ha llevado a otra algo mas completa (post en 10 types of people).

"Pues la respuesta es cuando menos curiosa. Básicamente parece que el nombre de las variables foo y bar viene de un expresión de la Segunda Guerra Mundial y proviene de la expresión FUBAR (Fucked Up Beyond All Recognition / Repair / Reason / Redemption).

Lo bonito es la de veces que se emplean estos nombres incluso en publicaciones de cierto prestigio. En fin, una curiosidad más del mundo informático, donde las bromas pueden estar implícitas en cualquier expresión.

Además por si fuera poco, he encontrado un grandioso RFC 3092 que se encarga de definir ambos términos y tiene un listado de su uso en los distintos RFC que existen."

¿Así que por qué no echar un vistazo al RFC, que descripción mas completa que la que nos puede dar un documento de este tipo?

Pues efectivamente se describen los términos:
  • foo: primera en la lista de variables metasintácticas usada para ejemplos de sintaxis
  • bar: seguna variable metasintáctica usada después de foo y antes de baz.
Pero no encuentro lo que quiero encontrar, que es el por qué de su utilización explicado en un documento oficial, un estándar o similar. Y lo curioso es que sin una razón concreta ya ha aparecido en 212 RFC's.
...

1 comentario:

T3 dijo...

Más en es.wikipedia.org: hay entrada para 'Foo'.

Por cierto: buscando en Google 'variable metasintáctica' aparece tu blog en sexta posición. Enhorabuena.