Подтвердить что ты не робот

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

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

4b9b3361

Ответ 1

ТЛ; дг

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

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

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

  • Кроме того, похоже, что военный FUBAR способствовал их популярности.


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


ОК, поэтому найдем некоторые ссылки.

STOP PRESS! После публикации этого ответа я обнаружил эту прекрасную статью о "foo" в выпуске 1938 в пятницу 14 января The Tech (" MIT старейший и самый большой газета и первая газета, опубликованная в Интернете "), том LVII. № 57, Price Three Cents:

В Foo-ism

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

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

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

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

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

...

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

Надеюсь, ваш,

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

И The Tech в декабре 1938:

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


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

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

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

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

И с 1996 года Jargon File 4.0.0:

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

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

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

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

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

  • Foo Counters

  • Foo Jung


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

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

Вероятно, изначально распространялся через руководства DECsystem от 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" из MIT Project MAC в январе 1964 AIM-064 или LISP Упражнения Тимоти П. Харт и Майкл Левин:

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

Он разделяет многие другие метасинтетические переменные, такие как: CHI/BOSTON NEW YORK/SPINACH BUTTER STEAK/FOO CROCK GLITCH/POOT TOOP/TOOT TOOT/ISTHISATRIVIALEXCERCISE/PLOOP FLOT TOP/SNAP CRACKLE POP/ONE TWO THREE/PLANE SUB THRESHER

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

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


Еще несколько напоминаний.

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

Во второй файл жаргона, касающийся Foo Bar. Я могу проследить его, по крайней мере, до 1963 года, и номер PDP-1 серийный номер 2, который находился на втором этаже здания 26 в Массачусетском технологическом институте. 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, с которыми я работал, использовали эту же командную строку.

Daniel P. B. Smith в 1998 году:

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

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

Использование имен переменных FOO и BAR в качестве примеров происходит по меньшей мере до 1964 года и IBM 7070. Это тоже может быть старше, но именно там я впервые увидел его. Это было в Ассемблере. Каким будет эквивалент FORTRAN? IFOO и IBAR?

Paul M. Wexelblat в 1992 году:

Самый ранний ассемблер PDP-1 использовал два символа для символов (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 bar как "инвертированный сигнал foo", как это предлагается в RFC3092 и в других местах.

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