Si vous avez déjà lu des ouvrages de développement rédigés dans la langue de Shakespeare, vous avez certainement déjà croisé ces exemples dans des tutoriels : on définit une classe Foo par-ci, un structure Bar par-là, une constante foobar dans un coin… D’où viennent ces variables, dites méta syntaxiques ?
Si on s’en tient à la RFC 1639 de juin 1994, Foobar signifierait Ftp Operation Over Big Address Records. Pas très comique tout ça, et rien qui pourrait justifier un tel succès d’estime pour cette expression. En restant dans le jargon informatique, on trouve aussi pour Foo les acronymes File Open for Output ou File or Object. Pour BAR, l’explication informatique mène également à des définitions un peu ennuyeuses : Base (resp. Buffer) Address Register… pas extra.
Ce n’est qu’en associant les deux que l’on retrouve un sens phonétique amusant. FUBAR, en effet, était un acronyme utilisé pendant la seconde guerre mondiale par l’armée américaine pour signaler l’état désastreux de certains appareils : FUBAR signifiait alors « Fucked Up Beyond All Repair », expurgé parfois en « Fouled Up Beyon All Repair ».
On retrouve d’ailleurs ce sens en géologie, où la Fubarite désigne la roche ayant subie tant de métamorphose qu’il est désormais impossible d’en déterminer son origine.
Il est fortement probable que l’utilisation méta syntaxique de foobar aujourd’hui soit dérivée de cette expression, mais rien n’est sûr. Cela expliquerait cependant pourquoi le « bar » succède toujours au « foo » dans les déclarations.
Comme quoi l’informatique, même théorique, regorge de références au réel…