Каково происхождение foo и bar?

Откуда они пришли и когда их впервые использовали?

2 ответа

Решение

ТЛ; др

  • "Foo" и "bar" как метасинтаксические переменные были популяризированы MIT и DEC, первые ссылки находятся в работе над LISP и PDP-1 и Project MAC с 1964 года.

  • Многие из этих людей были в техническом модельном железнодорожном клубе Массачусетского технологического института, где мы впервые обнаружили документированное использование "foo" в технических кругах в 1959 году (и вариант в 1958 году).

  • И "foo", и "bar" (и даже "baz") были хорошо известны в популярной культуре, особенно из комиксов Smokey Stover и Pogo, которые читали многие члены TMRC.

  • Также, похоже, военный FUBAR способствовал их популярности.


Использование одиночного "foo" как бессмысленного слова довольно хорошо задокументировано в популярной культуре в начале 20-го века, как и военный FUBAR. (Некоторые справочные материалы: FOLDOC FoldOC Jargon File Waripedia RFC3092 File of Jargon)


Хорошо, давайте найдем несколько ссылок.

СТОП ПРЕССА! После публикации этого ответа я обнаружил эту прекрасную статью о "foo" в выпуске "Tech " в пятницу, 14 января 1938 года ("Старейшая и самая большая газета MIT & первая газета, опубликованная в Интернете"), том LVII. № 57, цена три цента:

На Фу-Изме

Lounger думает, что это дело Foo-ism зашло слишком далеко его заблудшими сторонниками, и тем самым и немедленно высказывается против его злоупотреблений. Может быть, что нет foo, как старый foo, и мы все, но в любом случае, foo и его деньги - это какая-то вечеринка. (Голос от трибуны: "Не будь дураком!")

В качестве ругательства, конечно же, "Фу!" имеет определенную и, вероятно, незаменимую позицию в нашем языке, хотя мы опасаемся, что чрезмерное использование, которому он в настоящее время подвергается, вполне может привести к его раннему (и, увы, темному) забвению. Мы говорим, увы, потому что правильное использование слова может привести к таким счастливым случаям, как следующие.

Это была 8.50 лекция по термодинамике профессора Слейтера в аудитории 6-120. Профессор, накрыв переднюю часть доски, установил ручку, которая управляет механизмом подъема, поворачиваясь тем временем к классу, чтобы продолжить свое обсуждение. Передняя доска медленно, величественно приподнялась, обнажая доску за ней, и на этой доске написали большие символы с надписью "FOO"!

Техническая газета, годом ранее, Письмо в редакцию, сентябрь 1937 года:

К тому времени, когда поезд достиг станции, неофиты настолько наполнились историями о славе Phi Omicron Omicron, обычно называемой Foo, что они стали легкой добычей.

...

Я не возражаю против того, чтобы потерять своих первых четырех сыновей в Великом и Всемирном Братстве Пхи Омикрона Омикрона, но я действительно хочу, чтобы мой пятый сын, мой ребенок, был, по крайней мере, предупрежден заранее.

Надеюсь, ваш

Возмущенная Мать Пяти.

И Технология в декабре 1938 года:

Общая тенденция мышления может быть лучше всего интерпретирована из замечаний, сделанных в конце бюллетеней. Один голос сказал: "Я не думаю, что я занимаюсь каким-либо делом Пулвера", в то время как другой просто добавил краткий "Фу".


Первое задокументированное "foo" в технических кругах - это, вероятно, словарь языка TMRC 1959 года:

FOO: священный слог (FOO MANI PADME HUM); говорить только тогда, когда под вдохновением общаться с Божеством. Наше первое обязательство - поддерживать счетчики Foo.

Это объясняется в FOLDOC. Компилятор словаря Пит Самсон сказал в 2005 году:

Использование этого слова в TMRC предшествовало моему приезду туда. Счетчик foo может просто иметь случайно мигающие огни или может быть реальным счетчиком с неясным входом.

А с 1996 года Jargon File 4.0.0:

В более ранних версиях этого лексикона термин "баз" был назван "порчей Стэнфорда". Тем не менее, Пит Самсон (составитель лексикона TMRC) сообщает, что он уже действовал, когда он присоединился к TMRC в 1958 году. Он говорит: "Это было из"Pogo". Алберт Аллигатор, когда раздражен или возмущен, будет кричать" Bazz Fazz! " или 'Rowrbazzle!' Макет клуба, как говорили, моделировал (мифические) округа Новой Англии Роурфолк и Бассекс (Роурбаццл, смешанный с (Норфолк / Саффолк / Мидлсекс / Эссекс) ".

За год до словаря TMRC в газете MIT Voo Doo Gazette 1958 года ("Дополнение юмора в деканате MIT") (PDF) упоминается Foocom в книге "Законы Мерфи и Финагла" Джона Банжафа (студент-электротехник):

Дальнейшие исследования в рамках совместного гранта Foocom и Anarcom расширили закон до всеохватывающего и универсального: если что-то может пойти не так, так и будет!

Также MIT Voo Doo (PDF) 1964 года ссылается на использование TMRC:

Да! Я хочу быть мгновенного успеха и снежных клиентов. Пришли мне степень в:...

  • Foo Счетчики

  • Фу Юнг


Давайте найдем "foo", "bar" и "foobar", опубликованные в примерах кода.

Итак, Jargon File 4.4.7 говорит о "foobar":

Вероятно, изначально она распространялась в руководствах по системе DEC Digital Equipment Corporation (DEC) в 1960-х и начале 1970-х годов; подтвержденные наблюдения там восходят к 1972 году.

Первая опубликованная ссылка, которую я могу найти, относится к февралю 1964 года, но написана в июне 1963 года "Язык программирования LISP: его использование и применение" компанией Information International, Inc., со многими авторами, включая Тимоти П. Харта и Майкла Левина:

Таким образом, поскольку "FOO" является именем для себя, "COMITRIN" будет обрабатывать как "FOO", так и "(FOO)" одинаково.

Также включает в себя другие метасинтаксические переменные, такие как: FOO CROCK GLITCH / POOT TOOR / ON YOU / SNAP CRACKLE POP / X Y Z

Я ожидаю, что это почти то же самое, что следующее упоминание о "foo" из Project MAC MIT в январе 1964 года AIM-064 или учений LISP Тимоти П. Харта и Майкла Левина:

автомобиль [((FOO . CROCK) . GLITCH)]

Он разделяет многие другие метасинтаксические переменные, такие как: CHI / Бостон, Нью-Йорк / Шпинатный стейк, глянец с потрохами, помада / инструмент, инструмент / истиски, акцент / шлепанец, топ / SNAP, хруст, поп / один из двух третей мест

Как для "foo", так и для "bar" вместе, самая ранняя ссылка, которую я смог найти, - это проект MAC MIT в июне 1966 года AIM-098 или PDP-6 LISP, выполненный никем иным, как Питером Самсоном:

EXPLODE, как PRIN1, вставляет косые черты, поэтому (EXPLODE (QUOTE FOO/ BAR)) PRIN1 как (F O O // / B A R) или PRINC как (F O O / B A R).


Еще несколько отзывов.

@Walter Mitty вспомнил на этом сайте в 2008 году:

Я второй файл жаргона относительно Foo Bar. Я могу проследить это, по крайней мере, до 1963 года и до серийного номера PDP-1 2, который находился на втором этаже здания 26 в MIT. Здесь использовались Foo и Foo Bar, а после 1964 года в комнате PDP-6 в проекте MAC.

Джон В. Эверетт вспоминает в 1996 году:

Когда я присоединился к DEC в 1966 году, foobar уже широко использовался как одноразовое имя файла. Я считаю, что fubar стал foobar, потому что PDP-6 поддерживал шесть имен символов, хотя я всегда предполагал, что термин перенесен в DEC из MIT. В те дни в DEC было много типов MIT, некоторые из которых работали с CTSS 7090/7094. Поскольку 709x был также 36-битным компьютером, foobar, возможно, использовался как общее имя файла.

Foo и bar также обычно используются в качестве расширений файлов. Поскольку текстовые редакторы того времени работали с входным файлом и создавали выходной файл, было обычным редактировать файл.foo в файл.bar и обратно.

Также было распространено использование foo для заполнения буфера при редактировании с помощью TECO. Текстовая строка для точного заполнения одного блока диска была IFOO$HXA127GA$$. Почти все программисты PDP-6/10, с которыми я работал, использовали одну и ту же командную строку.

Даниэль П.Б. Смит в 1998 году:

У Дика Грюна было устройство в его комнате в общежитии, обычная сборка B-батареи, резисторов, конденсаторов и неоновых трубок NE-2, которую он назвал "счетчиком foo". Это было бы около 1964 года или около того.

Роберт Шульденфрей в 1996 году:

Использование FOO и BAR в качестве примера имен переменных восходит, по крайней мере, к 1964 году и IBM 7070. Это тоже может быть старше, но именно там я впервые увидел это. Это было в Ассемблере. Что будет эквивалентно целому числу Фортрана? ИФОО и ИБАР?

Пол М. Вексельблат в 1992 году:

Самый ранний PDP-1 Assembler использовал два символа для символов (18-битный компьютер), программисты всегда оставляли несколько слов в качестве места исправления для исправления проблем. (Перейти к месту исправления, создать новый код, перейти назад) Это пространство условно называлось FU: оно обозначало Fxxx Up, место, где вы исправили Fxxx Ups. Когда говорилось, это было известно как пространство FU. Более поздние ассемблеры (например, MIDAS позволили три тега char, чтобы FU стал FOO, и, как ВСЕ программисты PDP-1 скажут вам, что это пространство FOO.

Брюс Рейнольдс в 1996 году:

На стороне IBM FOO(FU)BAR используется сторона BAR в качестве регистра базовых адресов; в середине 1970-х программисты CICS были обеспокоены различными xxxBAR... Я думаю, что одним из них был FRACTBAR...

Вот такой прямой IBM "BAR" с 1955 года.


Другие ранние ссылки:


Я не смог найти никаких ссылок на панель foo как "инвертированный сигнал foo", как это предлагается в RFC3092 и в других местах.

Вот некоторые из более ранних F00, но я думаю, что это совпадения / ложные срабатывания:

Другие вопросы по тегам