web-dev-qa-db-fra.com

Quelle est l'origine de foo et bar?

D'où viennent-ils et quand ont-ils été utilisés pour la première fois?

32
Bryan Field

tl; dr

  • "Foo" et "bar" en tant que variables métasyntaxiques ont été popularisés par MIT et DEC, les premières références sont en cours sur LISP et PDP-1 et Project MAC à partir de 1964.

  • Beaucoup de ces personnes étaient au Tech Model Railroad Club du MIT, où nous trouvons la première utilisation documentée de "foo" dans les cercles technologiques en 1959 (et une variante en 1958).

  • "Foo" et "bar" (et même "baz") étaient bien connus dans la culture populaire, en particulier dans les bandes dessinées de Smokey Stover et Pogo, qui auront été lues par de nombreux membres du TMRC.

  • En outre, il semble probable que le FUBAR militaire ait contribué à leur popularité.


L'utilisation de "foo" seul comme un mot absurde est assez bien documentée dans la culture populaire au début du 20e siècle, tout comme le FUBAR militaire. (Quelques lectures de fond: FOLDOC FOLDOC Fichier JargonFichier JargonWikipediaRFC3092 )


OK, alors trouvons quelques références.

STOP PRESS! Après avoir posté cette réponse, j'ai découvert cet article parfait sur "foo" le vendredi 14 janvier 1938 édition de The Tech ("Le plus ancien et le plus grand journal du MIT et le premier journal publié sur le Web"), Volume LVII. N ° 57, prix trois cents:

Sur Foo-ism

The Lounger pense que cette affaire de foo-isme a été portée trop loin par ses partisans égarés et prend par la présente et immédiatement sa position contre son abus. Il se peut qu'il n'y ait pas de foo comme un vieux foo, et nous y sommes, mais de toute façon, un foo et son argent sont une fête. (Voix des gradins - "Ne sois pas fou!")

Bien sûr, "foo!" a une position définie et probablement irremplaçable dans notre langue, bien que nous craignions que l'usage excessif auquel il est actuellement soumis puisse bien entraîner sa chute dans un oubli précoce (et, hélas, sombre). Nous disons hélas car une bonne utilisation de la Parole peut entraîner des incidents aussi heureux que les suivants.

Il s'agissait d'une conférence de 8 h 50 sur la thermodynamique donnée par le professeur Slater dans la salle 6-120. Le professeur, ayant couvert la face avant du tableau noir, posa la poignée qui actionne le mécanisme de levage, se tournant entre-temps vers la classe pour poursuivre sa discussion. La planche avant lentement, majestueusement, s'est soulevée, révélant la planche derrière elle, et sur cette planche, en gros caractères, les symboles qui épelaient "FOO"!

The Tech journal , un an plus tôt, la lettre à l'éditeur, septembre 1937 :

Au moment où le train a atteint la gare, les néophytes sont tellement remplis des histoires de la gloire de Phi Omicron Omicron, généralement appelé Foo, qu'ils sont des proies faciles.

...

Cela ne me dérange pas d'avoir perdu mes quatre premiers fils au profit de la Grande et Universelle Confrérie de Phi Omicron Omicron, mais je souhaite que mon cinquième fils, mon bébé, soit au moins prévenu à l'avance.

J'espère que le vôtre,

Mère de cinq enfants indignée.

Et The Tech en décembre 1938 :

La tendance générale de la pensée pourrait être mieux interprétée à partir des remarques faites à la fin des scrutins. Un vote a dit: "Je ne pense pas que ce que je fais est l'affaire de Pulver", tandis qu'un autre a simplement ajouté un "Foo".


Le premier "foo" documenté dans les cercles techniques est probablement 1959 Dictionnaire du langage TMRC :

FOO: la syllabe sacrée (FOO MANI PADME HUM); à ne parler que sous l'inspiration de communier avec la Divinité. Notre première obligation est de faire tourner les compteurs Foo.

Ceux-ci sont expliqués à FOLDOC . Le compilateur du dictionnaire Pete Samson a déclaré en 2005:

L'utilisation de ce mot au TMRC est antérieure à mon arrivée. Un compteur foo pourrait simplement avoir des lumières clignotantes au hasard, ou pourrait être un vrai compteur avec une entrée obscure.

Et à partir de 1996 Jargon File 4.0. :

Les versions antérieures de ce lexique dérivaient de "baz" comme une corruption de barre à Stanford. Cependant, Pete Samson (compilateur du Lexique TMRC) rapporte qu'il était déjà à jour quand il a rejoint TMRC en 1958. Il dit: "Cela venait de" Pogo ". Albert l'Alligator, vexé ou outré, criait" Bazz Fazz! " ou "Rowrbazzle!" La disposition du club modelerait les comtés (mythiques) de la Nouvelle-Angleterre de Rowrfolk et Bassex (Rowrbazzle mélangé avec (Norfolk/Suffolk/Middlesex/Essex). "

Un an avant le dictionnaire TMRC, 1958 MIT Voo Doo Gazette ("Supplément d'humour du MIT Bureau des doyens ") (PDF) mentionne Foocom, dans" Les lois de Murphy et Finagle "de John Banzhaf (étudiant en génie électrique):

D'autres recherches dans le cadre d'une subvention conjointe Foocom et Anarcom ont élargi la loi pour qu'elle soit globale et applicable universellement: si quelque chose peut mal tourner, ce sera le cas!

De plus 1964 MIT Voo Doo (PDF) fait référence à l'utilisation de TMRC:

Oui! Je veux être un succès instantané et des clients de la neige. Envoyez-moi un diplôme en: ...

  • Compteurs Foo

  • Foo Jung


Trouvons "foo", "bar" et "foobar" publiés dans des exemples de code.

Donc, Jargon File 4.4.7 dit de "foobar":

Probablement propagé à l'origine dans les manuels DECsystem de Digital Equipment Corporation (DEC) dans les années 1960 et au début des années 1970; les observations confirmées remontent à 1972.

La première référence publiée que je peux trouver date de février 1964 , mais écrite en juin 1963, The Programming Language LISP: its Operation and Applications par Information International, Inc., avec de nombreux auteurs, mais dont Timothy P. Hart et Michael Levin:

Ainsi, puisque "FOO" est un nom pour lui-même, "COMITRIN" traitera à la fois "FOO" et "(FOO)" de la même manière.

Comprend également d'autres variables métasyntaxiques telles que: FOO CROCK GLITCH/POOT TOOR/ON YOU/SNAP CRACKLE POP/X Y Z

Je suppose que c'est à peu près la même chose que cette prochaine référence de "foo" du projet MAC du MIT en AIM-064 de janvier 1964 , ou Exercices LISP par Timothy P. Hart et Michael Levin:

voiture [((FOO. CROCK). GLITCH)]

Il partage de nombreuses autres variables métasyntaxiques comme: CHI/BOSTON NEW YORK/SPINACH BUTTER STEAK/FOO CROCK GLITCH/POOT TOOP/TOOT TOOT/ISTHISATRIVIALEXCERCISE/PLOOP FLOT TOP/SNAP CRACKLE POP/ONE TWO THREE/AVION SOUS-SEUIL

Pour "foo" et "bar" ensemble, la première référence que j'ai pu trouver provient du projet MAC du MIT en juin 1966 AIM-098, ou PDP-6 LISP par nul autre que Peter Samson:

EXPLODE, comme PRIN1, insère des barres obliques, donc (EXPLODE (QUOTE FOO/BAR)) PRIN1's as (F O O ///B A R) ou PRINC's as (F O O/B A R).


Encore quelques rappels.

@ Walter Mitty rappelé sur ce site en 2008:

J'appuie le fichier de jargon concernant Foo Bar. Je peux remonter au moins à 1963, et au numéro de série 2 de PDP-1, qui était au deuxième étage du bâtiment 26 du MIT. Foo et Foo Bar y ont été utilisés, et après 1964 dans la salle PDP-6 du projet MAC.

John V. Everett rappelle en 1996:

Lorsque j'ai rejoint DEC en 1966, foobar était déjà couramment utilisé comme nom de fichier à jeter. Je crois que fubar est devenu foobar parce que le PDP-6 supportait six noms de caractères, bien que j'ai toujours supposé que le terme avait migré vers DEC depuis le MIT. Il y avait beaucoup de types MIT au DEC à cette époque, dont certains avaient travaillé avec le 7090/7094 CTSS. Comme le 709x était également une machine 36 bits, foobar peut avoir été utilisé comme un commun nom de fichier là-bas.

Foo et bar étaient également couramment utilisés comme extensions de fichiers. Étant donné que les éditeurs de texte de la journée fonctionnaient sur un fichier d'entrée et produisaient un fichier de sortie, il était courant de passer d'un fichier .foo à un fichier .bar, et inversement.

Il était également courant d'utiliser foo pour remplir un tampon lors de l'édition avec TECO. La chaîne de texte pour remplir exactement un bloc de disque était IFOO $ HXA127GA $$. Presque tous les programmeurs PDP-6/10 avec lesquels j'ai travaillé ont utilisé cette même chaîne de commande.

Daniel P. B. Smith en 1998:

Dick Gruen avait un appareil dans son dortoir, l'assemblage habituel de batterie B, de résistances, de condensateurs et de tubes néon NE-2, qu'il appelait un "compteur de foo". Cela aurait été vers 1964 environ.

Robert Schuldenfrei en 1996:

L'utilisation de FOO et BAR comme exemples de noms de variables remonte au moins à 1964 et à l'IBM 7070. Cela aussi peut être plus ancien, mais c'est là que je l'ai vu pour la première fois. C'était dans Assembler. Quel serait l'équivalent FORTRAN entier? IFOO et IBAR?

Paul M. Wexelblat en 1992:

Le premier assembleur PDP-1 utilisait deux caractères pour les symboles (machine 18 bits). Les programmeurs laissaient toujours quelques mots comme espace de correction pour résoudre les problèmes. (Aller à l'espace des patchs, faire du nouveau code, revenir en arrière) Cet espace était conventionnellement appelé FU: qui signifiait Fxxx Up, l'endroit où vous avez corrigé Fxxx Ups. Lorsqu'il était prononcé, il était connu sous le nom FU espace. Les assembleurs ultérieurs (par exemple, MIDAS ont autorisé trois balises char ainsi FU est devenu FOO, et comme TOUS les programmeurs PDP-1 le feront)). vous dire que c'était l'espace FOO.

Bruce B. Reynolds en 1996:

Du côté IBM de FOO (FU) BAR se trouve l'utilisation du côté BAR comme registre d'adresses de base; au milieu des années 1970, les programmeurs CICS devaient s'inquiéter des divers xxxBARs ... Je pense que l'un d'eux était FRACTBAR ...

Voici une ligne droite IBM "BAR" de 1955.


Autres premières références:


Je n'ai pas été en mesure de trouver des références à foo bar comme "signal foo inversé" comme suggéré dans RFC3092 et ailleurs.

Voici quelques-uns des F00 encore plus anciens, mais je pense que ce sont des coïncidences/faux positifs:

62
Hugo
5
mth