blogaholic

Fundstücke und Gedanken

NIght Sky (HDR)Because the sky is high in France, it blows my mind in France.Richmond from below the 9th street bridgeThe view from wytham woodsBell TowerSunrise at the Algerian borderOld and Young Sunflowers

foo, bar, baz und so weiter

Wer eine Programmiersprache lernt hat garantiert schon einmal Beispiel-Code gesehen, der wie folgt aussieht:

foo = 1
bar = "anything"
quux = [ 1, 2, 3 ]
baaz = { "a" => 10, "b" => 17, "z" => 42 }
print foo + quux[1] + baaz["b"], "\n"

Habt Ihr Euch auch schon einmal gefragt, woher diese komischen Begriffe foo und bar kommen und was sie zu bedeuten haben? Das gehört zwar ganz klar in die Sammlung nutzlosen Wissens, aber die Hintergründe sind ziemlich interessant. Die meisten Leute, mit denen ich darüber bisher gesprochen habe, kennen nur foo und bar. Die Liste geht aber noch weiter, und zwar je nach Quelle so:

foo, bar, baz, qux, quux, quuux, quuuux, …

Ahhh…ja. Formal heißen diese Dinger übrigens metasyntaktische Variablen, das sind “Variable[n] in Computer-Programm-Code, die ausschließlich zur Benennung von beliebigen Entitäten in Beispielen dien[en]“. Es gibt umfangreiche Aufstellungen der verschiedenen Varianten. Demnach lässt sich die obige Folge an das MIT bzw. das Stanford zurückverfolgen, wo sie schon vor 1970 in Source-Code-Beispielen zum Einsatz kam. Weiter heißt es, “to some extent, the list of one’s preferred metasyntactic variables is a cultural signature.” An der CMU verwenden die Leute zum Beispiel foo, bar, thud, grunt. Überlegt Euch also genau, welche Namen Ihr Euren Variablen gebt. Auch interessant: “However, it has been plausibly suggested that the real reason for the term “metasyntactic variable” is that it sounds good.” Hacker sind echt ein eigensinniges Volk.

Was wiederum viele wissen, ist die vermeintliche Herkunft der Zusammensetzung foobar: die geht nämlich wahrscheinlich auf das legendäre Fubar zurück. Mit diesem Kunstwort wurden ursprünglich besonders schlimme Situationen beschrieben. Fubar wurde im zweiten Weltkrieg nämlich von Soldaten der US Army als Akronym verwendet: Fucked Up Beyond All Recognition.

Wer hätte gedacht, dass foo und bar eine so bewegte Geschichte hinter sich haben?