Просматривая различную документацию и примеры кода, вы, скорее всего, встречали переменную «foo» или «bar». Настолько, что вы, скорее всего, только что узнали, что это такое - имя переменной общего назначения. Но задумывались ли вы, почему сообщество программистов выбрало «foo» и «bar» в качестве имен переменных-заполнителей в документации?

Чтобы узнать больше о терминах ‘foo’ и ‘bar’, нам нужно вернуться во времени в довоенную эпоху. В то время термин «фу» использовался в популярных комиксах и мультфильмах и считается синонимом термина отвращение. Одно из первых записанных упоминаний этого термина было в популярном комиксе, появившемся в 1930-х годах под названием «Все для всех», созданном Биллом Холменом, в котором пожарный ездил на своем «фу-мобиле», и этот термин появлялся в других бессмысленных фразах, таких как как «Где foo, там огонь» или «Многие люди курят, но foo мужчины жуют». Многие фанаты комикса сочли этот термин бессмысленным, но Холмен утверждал, что впервые увидел этот термин в скрипте на дне апотропной китайской фигурки, придав ему негативный оттенок. Использование этого бессмысленного выражения стало популярным в США и стало появляться в других средствах массовой информации.

Хотя термин, возможно, имел короткую жизнь в лексиконе среднего американца, эволюция сленга появилась в воинских званиях страны в форме аббревиатуры FUBAR, которая, вероятно, заимствовала влияние из немецкого слова 'furchtbar', что означает ' ужасный '. Однако этот акроним означает 'испорченный всякое признание ' или ' испорчено до неузнаваемости '. Вряд ли вписывается в контекст войны. Операторы радаров, которые отслеживали активность воздушного движения, начали называть неопознанные летающие объекты «фу-истребителями», и британские военные также начали использовать этот термин, чтобы оставить свой след, распыляя «ФУ БЫЛО ЗДЕСЬ», куда бы они ни направлялись. Есть даже запись о его использовании в британском военно-морском журнале 1964 года, в котором написано: «Мистер. Foo - загадочный продукт времен Второй мировой войны, одаренный горьким всеведением и сарказмом ».

Наконец, мы подходим к терминам, впервые использованным в контексте программирования в словаре Tech Model Railroad Club Dictionary в 1959 году. Этот клуб MIT использовал термин, добавленный к переключателям, которые были переключателями, размещенными вокруг их клубной комнаты, и использовались для предотвращения нежелательного результата. в их сложных модельных системах поездов. Этому историческому студенческому клубу Массачусетского технологического института также приписывают происхождение хакерской культуры, среди его более ранних членов были Джек Деннис и Питер Самсон. Эти переключатели foo при использовании останавливали бы систему и отображали на цифровых часах сообщение, которое, как вы уже догадались, FOO. У них также было две специальные кнопки, каждая из которых соответственно помечена как foo и bar, которые были кнопками общего назначения, которые они использовали и переназначали, чтобы реализовать любую другую забавную идею, которую они имели для своих систем.

Продвигаясь вперед, мы начинаем видеть термин, используемый в других руководствах по системам, а также представляющий переменные, методы или команды общего назначения почти во всех последующих создаваемых языках программирования, и я не могу не думать, что этот термин на самом деле может быть одним из них. созданных величайших мемов в мире. Существуют и другие имена метасинтаксических переменных, такие как baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy и thud. Если вам когда-нибудь надоест видеть foo & bar, не стесняйтесь использовать одно из этих других бессмысленных имен в следующий раз, когда будете описывать этот шикарный метод, которому вы научились, другу.