it-swarm.dev

Wie war die Geschichte der Verwendung von "foo" und "bar" in Quellcodebeispielen?

Warum verwenden viele Codebeispiele, insbesondere Tutorials, so oft die Namen "Foo" und "Bar"? Es ist fast ein Standard.

Zum Beispiel:

void foo(char* bar) {
  printf("%s", bar);
}
60
user15453

Foo und bar stammen vom Akronym FUBAR der US Army WWII, "F. -ed Up Beyond All Recognition ". Eine ganze Familie dieser Begriffe wurde während der nordafrikanischen und sizilianischen Kampagnen (1942-43) weit verbreitet. Rick Atkinsons ausgezeichnetes Tag der Schlacht: Der Krieg in Sizilien und Italien, 1943-1944 gibt eine Liste davon. Zum Beispiel ist eine JANFU eine "Joint Army Navy F Up", wie der Vorfall am 11. Juli 1943, als die Invasionsflotte für Operation Husky23 Transporte der Army Air Force C-47 abgeschossen) Fallschirmjäger tragen, um den Brückenkopf zu verstärken.

Update: Wikipedia hat eine Liste verwandter Akronyme, die einige der von Atkinson aufgelisteten Original-Akronyme aus dem Zweiten Weltkrieg enthalten.

Jeder Programmierer wird die Motivation verstehen, foo und bar zu verwenden, um Variablen zu benennen . Sie waren sicherlich von Anfang an Teil der C/UNIX-Kultur und waren, wie @Walter Mitty betont, älter als diese.

Update (05.10.2009): Hier ist Atkinsons Beschreibung:

Ihre allgegenwärtige "Zivilität" machte sie vorsichtig vor kriegerischem Eifer. "Wir waren keine Romantiker voller Umhang und Schwert", schrieb John Mason Brown, ein Leutnant der Navy Reserve auf dem Weg nach Sizilien. "Dafür war der letzte Krieg zu nahe." Das Militärleben entzündete ihre ironische Sensibilität und ihre Skepsis. Ein einziges grobes Akronym, das die gesenkten Erwartungen des Soldaten festhielt - SNAFU, "Situation normal, alles beschissen" - hatte sich zu einem Vokabular des GI-Zynismus erweitert: SUSFU (Situation unverändert, immer noch beschissen); FUMTU (mehr als sonst beschissen); JANFU (gemeinsames Arschloch zwischen Armee und Marine); JAAFU (gemeinsamer angloamerikanischer Mistkerl); FUAFUP (beschissen und richtig beschissen); und FUBAR (bis zur Unkenntlichkeit beschissen) [Atkinson, p. 36].

Update (23.11.2011): @Hugo hat eine fantastische Liste der nichtmilitärischen Vorfahren.

65
Jim Ferrans

Ich denke, es ist die phonetische Aussprache von Fubar.

Welches dafür steht:

  • F * cked
  • Oben
  • Darüber hinaus
  • Alle
  • Reparatur
59
FlySwat

Das New Hacker's Dictionary hat einen sehr guten Eintrag dazu - und ich halte es für eine bessere Ressource für solche Dinge als Wikipedia:

metasyntaktische Variable /n./

Ein Name, der in Beispielen verwendet wird und für alles steht, was zur Diskussion steht, oder für ein zufälliges Mitglied einer Klasse von Dingen, über die diskutiert wird. Das Wort foo ist das kanonische Beispiel. Um Verwirrung zu vermeiden, verwenden Hacker niemals (naja, kaum jemals) "foo" oder ähnliche Wörter als dauerhafte Namen für irgendetwas. In Dateinamen ist es üblich, dass jeder Dateiname, der mit einem metasyntaktischen Variablennamen beginnt, eine Arbeitsdatei ist, die jederzeit gelöscht werden kann.

In gewissem Maße ist die Liste der bevorzugten metasyntaktischen Variablen eine kulturelle Signatur. Sie treten sowohl in Reihen (für verwandte Gruppen von Variablen oder Objekten) als auch als Singletons auf. Hier sind einige gebräuchliche Signaturen:

foo, bar, baz, quux, quuux, quuuux ...:
MIT/Stanford-Verwendung, jetzt überall zu finden (hauptsächlich dank früherer Versionen dieses Lexikons!). Bei MIT (aber nicht bei Stanford)) wurde baz in den 1970er und 1980er Jahren für eine Weile nicht mehr verwendet. Eine häufig vorkommende Mutation dieser Sequenz fügt qux vor quux ein.

bazola, ztesch:
Stanford (ab Mitte der 70er Jahre).

foo, bar, thud, grunzen:
Diese Serie war an der CMU beliebt. Andere CMU-assoziierte Variablen umfassen gorp.

foo, bar, fum:
Diese Serie soll bei XEROX PARC häufig vorkommen.

fred, Barney:
Siehe den Eintrag für Fred. Dies sind in der Regel Britizismen.

corge, grault, flarp:
Beliebt an der Rutgers University und bei GOSMACS-Hackern.

zxc, spqr, wombat:
Cambridge University (England).

shme
Berkeley, GeoWorks, Ingres. Ausgesprochen/shme/mit einem kurzen/e /.

schnorcheln
Brown University, Anfang der 1970er Jahre.

foo, Bar, Zot
Technische Universität Helsinki, Finnland.

blarg, wibble
Neuseeland.

toto, titi, tata, tutu
Frankreich.

pippo, Pluto, Paperino
Italien. Pippo/pee'po/und Paperino/pa-per-ee'-no/sind die italienischen Namen für Goofy und Donald Duck.

aap, noot, mies
Die Niederlande. Dies sind die ersten Wörter, mit denen ein Kind das Buchstabieren auf einer niederländischen Rechtschreibungstafel lernte.

Von all diesen sind nur "foo" und "bar" universell (und baz fast so). Die Verbindungen foobar und `foobaz 'genießen ebenfalls eine sehr breite Währung.

Einige Jargonbegriffe werden auch als metasyntaktische Namen verwendet. Barf und Murmeln zum Beispiel. Siehe auch Commonwealth Hackish für die Diskussion zahlreicher metasyntaktischer Variablen in Großbritannien und im Commonwealth.

41
ColinYounger

Wikipedia gibt diese Definition der metasyntaktischen Variablen an :

In der Informatik verwenden Programmierer metasyntaktische Variablen, um einen Platzhalternamen oder einen Aliasbegriff zu beschreiben, der üblicherweise zur Bezeichnung des diskutierten Themas oder eines beliebigen Mitglieds einer Klasse von diskutierten Dingen verwendet wird. Die Verwendung einer metasyntaktischen Variablen ist hilfreich, um einen Programmierer von der Erstellung einer logisch benannten Variablen zu befreien. Dies ist häufig hilfreich, wenn Beispiele für einen Algorithmus erstellt oder vermittelt werden. Das Wort foo ist das Hauptbeispiel.
Der Begriff "metasyntaktische Variable" findet sich hauptsächlich in der informellen Literatur. Es wird manchmal auch als Synonym für metavariable verwendet.
Jedes Symbol oder Wort, das nicht gegen die Regeln der Sprache verstößt, kann als metasyntaktische Variable verwendet werden, aber häufig werden unsinnige Wörter verwendet. Das gleiche Konzept wird in anderen Bereichen verwendet, in denen es durch Begriffe wie schematische Variable ausgedrückt wird (siehe logische Form ).
In mathematischer Analogie: Eine metasyntaktische Variable ist ein Wort, das eine Variable für andere Wörter ist, genau wie in Algebra Buchstaben als Variablen für Zahlen verwendet werden.

Der Artikel enthält auch allgemeine Beispiele für solche Variablen in verschiedenen Programmiersprachen:

[~ # ~] c [~ # ~]
Im folgenden Beispiel der Programmiersprache C sind der Funktionsname foo und die Variablennamenleiste beide metasyntaktische Variablen. Zeilen, die mit // beginnen, sind Kommentare.

// The function named foo
int foo(void)
{
   // Declare the variable bar and set the value to 1
   int bar = 1;

   return bar;
}

Python

Spam, Schinken und Eier sind die wichtigsten metasyntaktischen Variablen, die in der Programmiersprache Python] verwendet werden. [5] Dies ist ein Hinweis auf die berühmte Comedy-Skizze Spam von Monty Python, dem Namensgeber der Sprache. [6] Im folgenden Beispiel sind Spam, Schinken und Eier metasyntaktische Variablen und Zeilen, die mit # beginnen, sind Kommentare.

# Define a function named spam
def spam():

    # define the variable ham
    ham = "Hello World!"

    #define the variable eggs
    eggs = 1

    return

Ruby

Im folgenden Beispiel sind baz, foo und bar metasyntaktische Variablen und Zeilen, die mit # beginnen, sind Kommentare.

# Declare the variable foo and set equal to 1
foo = 1

# Declare the variable bar and set equal to 2
bar = 2

# Declare the method (function) named baz, which prints the text 'Hello world'
def baz
   puts 'Hello world'
end
25
Brian

Hier ist die Antwort von Wikipedia:

Die Begriffe foobar, foo, bar und baz sind gebräuchliche Platzhalternamen (auch als metasyntaktische Variablen bezeichnet), die in der Computerprogrammierung oder in der computerbezogenen Dokumentation verwendet werden. Sie werden üblicherweise verwendet, um unbekannte Werte darzustellen, typischerweise wenn ein Szenario beschrieben wird, in dem der Zweck der unbekannten Werte verstanden wird, ihre genauen Werte jedoch willkürlich und unwichtig sind. Die Begriffe können verwendet werden, um einen beliebigen Teil eines komplizierten Systems oder einer Idee darzustellen, einschließlich der Daten, Variablen, Funktionen und Befehle. Die Wörter selbst haben in dieser Verwendung keine Bedeutung und sind lediglich logische Darstellungen, ähnlich wie die Buchstaben x und y in der Algebra verwendet werden. Foobar wird oft alleine verwendet; foo, bar und baz werden normalerweise in dieser Reihenfolge verwendet, wenn mehrere Entitäten benötigt werden.

Foo ist als Neologismus in die englische Sprache eingetreten und wird von vielen als kanonisches Beispiel für eine metasyntaktische Variable angesehen. [Zitieren erforderlich] Es wird häufig in Computerprogrammierbeispielen (manchmal ausgedrückt als "nur einmal") und Pseudocode verwendet. Eric S. Raymond hat es neben Kludge und Cruft einen "wichtigen Hackerismus" genannt. [1]

http://en.wikipedia.org/wiki/Foo

Und aus RFC 3092:

Wenn es in Verbindung mit "Bar" verwendet wird, wird es im Allgemeinen auf das Slang-Akronym FUBAR ("Fucked Up Beyond All Repair") aus der Zeit des Zweiten Weltkriegs zurückgeführt, das später in "Foobar" geändert wurde. Frühe Versionen der Jargon-Datei [JARGON] interpretierten diese Änderung als eine Bowdlerisierung der Nachkriegszeit, aber es scheint jetzt wahrscheinlicher, dass FUBAR selbst eine Ableitung von "foo" war, die möglicherweise von der deutschen "furchtbar" (schrecklich) beeinflusst wurde - "foobar" Eigentlich war die ursprüngliche Form.

Denn anscheinend hatte das Wort 'foo' selbst eine unmittelbare Vorkriegsgeschichte in Comics und Cartoons. In dem Warner Brothers-Cartoon von 1938 unter der Regie von Robert Clampett, "The Daffy Doc", hält eine sehr frühe Version von Daffy Duck ein Schild mit der Aufschrift "SILENCE IS FOO!" ... (snip)

http://www.faqs.org/rfcs/rfc3092.html

19
Daniel A. White

tl; dr

  • "Foo" und "bar" als metasyntaktische Variablen wurden von MIT und DEC populär gemacht. Die ersten Referenzen sind ab 1964 in Arbeit an LISP und PDP-1 und Project MAC.

  • Viele dieser Leute waren im Tech Model Railroad Club des MIT, wo wir 1959 die erste dokumentierte Verwendung von "foo" in technischen Kreisen finden (und eine Variante im Jahr 1958).

  • Sowohl "foo" als auch "bar" (und sogar "baz") waren in der Populärkultur bekannt, insbesondere aus Smokey Stover- und Pogo-Comics, die von vielen TMRC-Mitgliedern gelesen wurden.

  • Es scheint auch wahrscheinlich, dass die militärische FUBAR zu ihrer Popularität beigetragen hat.


Die Verwendung von Lone "Foo" als Unsinnswort ist in der Populärkultur zu Beginn des 20. Jahrhunderts ziemlich gut dokumentiert, ebenso wie die militärische FUBAR. (Einige Hintergrundinformationen: [~ # ~] foldoc [~ # ~][~ # ~] foldoc [~ # ~]Jargon DateiJargon-DateiWikipediaRFC3092 )


OK, also lasst uns einige Referenzen finden.

STOP PRESS! Nachdem ich diese Antwort gepostet hatte, entdeckte ich diesen perfekten Artikel über "foo" am Freitag, den 14. Januar 1938 Ausgabe von The Tech ("MITs älteste und größte Zeitung & die erste im Internet veröffentlichte Zeitung"), Band LVII. Nr. 57, Preis Drei Cent:

Auf Foo-ismus

Der Lounger ist der Ansicht, dass dieses Geschäft des Foo-ismus von seinen fehlgeleiteten Befürwortern zu weit geführt wurde, und tritt hiermit und unverzüglich gegen seinen Missbrauch ein. Es mag sein, dass es kein Foo wie ein altes Foo gibt, und wir sind es, aber trotzdem sind ein Foo und sein Geld eine Party. (Stimme von der Tribüne - "Sei nicht dumm!")

Als Explosiv natürlich "foo!" hat eine bestimmte und wahrscheinlich unersetzliche Position in unserer Sprache, obwohl wir befürchten, dass der übermäßige Gebrauch, dem es derzeit ausgesetzt ist, dazu führen kann, dass es in eine frühe (und leider dunkle) Vergessenheit gerät. Wir sagen leider, weil die richtige Verwendung des Wortes zu so glücklichen Ereignissen wie den folgenden führen kann.

Es war eine 8,50 Thermodynamik-Vorlesung von Professor Slater in Raum 6-120. Nachdem der Professor die Vorderseite der Tafel abgedeckt hatte, stellte er den Griff für den Hebemechanismus ein und wandte sich währenddessen an die Klasse, um seine Diskussion fortzusetzen. Das vordere Brett hob sich langsam und majestätisch und enthüllte das Brett dahinter. Schreiben Sie auf dieses Brett die Symbole, die "FOO" buchstabierten, groß!

Die Tech-Zeitung , ein Jahr zuvor, der Brief an den Herausgeber, September 1937 :

Bis der Zug den Bahnhof erreicht hat, sind die Neophyten so voller Geschichten über den Ruhm von Phi Omicron Omicron, normalerweise als Foo bezeichnet, dass sie eine leichte Beute sind.

...

Es macht mir nichts aus, meine ersten vier Söhne an die Große und Universelle Bruderschaft von Phi Omicron Omicron verloren zu haben, aber ich wünsche mir, dass mein fünfter Sohn, mein Baby, zumindest im Voraus gewarnt wird.

Hoffentlich deins,

Empörte Mutter von fünf Kindern.

Und The Tech im Dezember 1938 :

Die allgemeine Denkrichtung lässt sich am besten anhand der Bemerkungen am Ende der Stimmzettel interpretieren. Eine Stimme sagte: "Ich glaube nicht, dass ich etwas mit Pulver zu tun habe", während eine andere lediglich ein knappes "Foo" hinzufügte.


Das erste dokumentierte "foo" in technischen Kreisen ist wahrscheinlich 1959 's Wörterbuch der TMRC-Sprache :

FOO: die heilige Silbe (FOO MANI PADME HUM); nur unter Inspiration gesprochen werden, um mit der Gottheit zu kommunizieren. Unsere erste Verpflichtung ist es, die Foo Counters am Laufen zu halten.

Diese werden unter [~ # ~] foldoc [~ # ~] erklärt. Der Compiler des Wörterbuchs, Pete Samson, sagte 2005:

Die Verwendung dieses Wortes bei TMRC geht meiner Ankunft voraus. Ein Foo-Zähler kann einfach zufällig blinkende Lichter haben oder ein echter Zähler mit einer undurchsichtigen Eingabe sein.

Und ab 1996 Jargon File 4.0.0 :

Frühere Versionen dieses Lexikons haben 'baz' als Stanford-Korruption der Bar abgeleitet. Pete Samson (Compiler des TMRC-Lexikons) berichtet jedoch, dass es bereits aktuell war, als er 1958 zu TMRC kam. Er sagt: "Es kam von" Pogo ". Albert der Alligator würde, wenn er verärgert oder empört wäre," Bazz Fazz! " oder "Rowrbazzle!" Das Club-Layout soll die (mythischen) New England Counties Rowrfolk und Bassex (Rowrbazzle vermischt mit (Norfolk/Suffolk/Middlesex/Essex)) modellieren. "

Ein Jahr vor dem TMRC-Wörterbuch, 1958 's MIT Voo Doo Gazette ("Humor-Ergänzung des MIT] _ Deans 'office ") (PDF) erwähnt Foocom in" The Laws of Murphy and Finagle "von John Banzhaf (Student der Elektrotechnik):

Weitere Forschungen im Rahmen eines gemeinsamen Stipendiums von Foocom und Anarcom haben das Gesetz so erweitert, dass es umfassend und universell anwendbar ist: Wenn etwas schief gehen kann, wird es!

Auch 1964 's MIT Voo Doo (PDF) verweist auf die TMRC-Verwendung:

Ja! Ich möchte ein sofortiger Erfolg sein und Kunden schneien. Senden Sie mir einen Abschluss in: ...

  • Foo Zähler

  • Foo Jung


Aber denken wir daran, dass es sich bei dieser Frage um Codebeispiele handelt. Suchen wir also "foo", "bar" und "foobar", die im Code veröffentlicht sind.

Also, Jargon File 4.4.7 sagt von "foobar":

Vermutlich ursprünglich in den 1960er und frühen 1970er Jahren durch DECsystem-Handbücher der Digital Equipment Corporation (DEC) verbreitet; bestätigte Sichtungen dort gehen auf das Jahr 1972 zurück.

Die erste veröffentlichte Referenz, die ich finden kann, stammt aus dem Februar 1964 , wurde aber im Juni 1963 geschrieben, Die Programmiersprache LISP: ihre Funktionsweise und Anwendungen von Information International, Inc., mit vielen Autoren, aber einschließlich Timothy P. Hart und Michael Levin:

Da "FOO" ein Name für sich ist, wird "COMITRIN" sowohl "FOO" als auch "(FOO)" genauso behandeln.

Enthält auch andere metasyntaktische Variablen wie: FOO CROCK GLITCH/POOT TOOR/ON YOU/SNAP CRACKLE POP/X Y Z.

Ich gehe davon aus, dass dies mit der nächsten Referenz von "foo" aus MITs Projekt MAC im Januar 1964 AIM-064 oder . -LISP-Übungen von Timothy P. Hart und Michael Levin:

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

Es teilt viele andere metasyntaktische Variablen wie: CHI/BOSTON NEW YORK/SPINACH BUTTER STEAK/FOO CROCK GLITCH/POOT TOOP/TOOT TOOT/ISTHISATRIVIALEXCERCISE/PLOOP FLOT TOP/SNAP CRACKLE POP/EIN ZWEI DREI/FLUGZEUG DRESCHER

Für "foo" und "bar" zusammen ist die früheste Referenz, die ich finden konnte, aus MITs Projekt MAC im Juni 1966 AIM-098 oder PDP-6 LISP von niemand anderem als Peter Samson:

EXPLODE fügt wie PRIN1 Schrägstriche ein, also (EXPLODE (QUOTE FOO/BAR)) PRIN1 als (F O O ///B A R) oder PRINC als (F O O/B A R).


Noch ein paar Rückrufe.

@ Walter Mitty 2008 auf dieser Seite zurückgerufen:

Ich stimme der Jargon-Datei zu Foo Bar zu. Ich kann es mindestens bis 1963 zurückverfolgen und die PDP-1-Seriennummer 2, die sich im zweiten Stock des Gebäudes 26 am MIT befand. Foo und Foo Bar wurden dort und nach 1964 im PDP-6-Raum des Projekts MAC verwendet.

John V. Everett erinnert sich 1996:

Als ich 1966 zu DEC kam, wurde foobar bereits häufig als Wegwerf-Dateiname verwendet. Ich glaube, Fubar wurde zu Foobar, weil der PDP-6 sechs Charakternamen unterstützte, obwohl ich immer davon ausgegangen bin, dass der Begriff vom MIT nach DEC migriert wurde. In jenen Tagen gab es bei DEC viele MIT Typen, von denen einige mit dem CTSS 7090/7094 gearbeitet hatten. Da der 709x auch eine 36-Bit-Maschine war, wurde foobar dort möglicherweise als allgemeiner Dateiname verwendet.

Foo und Bar wurden auch häufig als Dateierweiterungen verwendet. Da die Texteditoren des Tages eine Eingabedatei bearbeiteten und eine Ausgabedatei erstellten, war es üblich, von einer .foo-Datei in eine .bar-Datei und wieder zurück zu bearbeiten.

Es war auch üblich, beim Bearbeiten mit TECO foo zu verwenden, um einen Puffer zu füllen. Die Textzeichenfolge, um genau einen Plattenblock zu füllen, war IFOO $ HXA127GA $$. Fast alle PDP-6/10-Programmierer, mit denen ich gearbeitet habe, verwendeten dieselbe Befehlszeichenfolge.

Daniel P. B. Smith 1998:

Dick Gruen hatte ein Gerät in seinem Schlafsaal, die übliche Zusammenstellung von B-Batterie, Widerständen, Kondensatoren und NE-2-Neonröhren, die er als "Foo Counter" bezeichnete. Dies wäre um 1964 oder so gewesen.

Robert Schuldenfrei 1996:

Die Verwendung von FOO und BAR als Beispielvariablennamen geht mindestens auf das Jahr 1964 und die IBM 7070 zurück. Auch dies mag älter sein, aber dort habe ich es zum ersten Mal gesehen. Dies war in Assembler. Was wäre das FORTRAN Integer-Äquivalent? IFOO und IBAR?

Paul M. Wexelblat 1992:

Der früheste PDP-1-Assembler verwendete zwei Zeichen für Symbolprogrammierer (18-Bit-Maschine). Programmierer ließen immer ein paar Wörter als Patch-Speicherplatz übrig, um Probleme zu beheben. (Zum Patch-Speicherplatz springen, neuen Code ausführen, zurückspringen) Dieser Speicherplatz wurde herkömmlicherweise FU genannt: Er stand für Fxxx Up, den Ort, an dem Sie Fxxx Ups repariert haben. Beim Sprechen wurde es als FU Leerzeichen bezeichnet. Spätere Assembler (z. B. MIDAS erlaubte drei Zeichen-Tags, so dass FU FOO wurde, und wie ALLE PDP-1-Programmierer Ihnen sagen werden, war dies FOO-Speicherplatz.

Bruce B. Reynolds 1996:

Auf der IBM-Seite von FOO (FU) BAR wird die BAR-Seite als Basisadressregister verwendet. Mitte der 1970er Jahre mussten sich CICS-Programmierer um die verschiedenen xxxBARs kümmern ... Ich denke, eine davon war FRACTBAR ...

Hier ist eine gerade IBM "BAR" von 1955.


Andere frühe Referenzen:


Ich konnte keine Verweise auf foo bar als "invertiertes foo-Signal" finden, wie in RFC3092 und anderswo vorgeschlagen.

Hier sind einige noch frühere F00, aber ich denke, sie sind Zufälle/Fehlalarme:

19
Hugo

wenn Sie Wörter wie "foo" und "bar" verwenden, konzentrieren Sie sich auf das Konzept und nicht auf das, was Sie anhand der Ihnen bekannten Begriffe erfassen können. Zum Beispiel:

public abstract class Animal
{
    public abstract void speak();
}

public class Cat 
    extends Animal
{
    public abstract void speak()
    {
        System.out.println("meow");
    }
}

public class Dog
    extends Animal
{
    public abstract void speak()
    {
        System.out.println("bark");
    }
}

Mit dem obigen Code können Sie auf Ihr Wissen über Dinge der realen Welt zurückgreifen.

Wenn Sie versuchen, ein Konzept zu erklären, bei dem es nicht darauf ankommt, was getan wird (z. B. Miau oder Rinde drucken), sondern darauf, wie es gemacht wird, entfernen Sie die Ihnen bekannten Teile:

public abstract class Foo
{
    public abstract void star();
}

public class Bar
    extends Foo
{
    public abstract void star()
    {
        System.out.println("A");
    }
}

public class Car
    extends Foo
{
    public abstract void star()
    {
        System.out.println("b");
    }
}

Jetzt müssen Sie sich auf das konzentrieren, was wirklich passiert. Sie können nicht mehr erraten, was passieren wird.

Die Kurzversion ist also, dass foo, bar und dergleichen verwendet werden, um Konzepte hervorzuheben, bei denen der Inhalt nicht wirklich wichtig ist, aber die Idee.

13
TofuBeer

Von http://en.wikipedia.org/wiki/Foobar

In der Technologie wurde das Wort wahrscheinlich ursprünglich in den 1960er und frühen 1970er Jahren durch Systemhandbücher der Digital Equipment Corporation verbreitet. Eine andere Möglichkeit besteht darin, dass sich die Foobar aus der Elektronik als invertiertes Foo-Signal entwickelt hat. Dies liegt daran, dass, wenn ein digitales Signal aktiv niedrig ist (also ein negativer oder Nullspannungszustand eine "1" darstellt), üblicherweise ein horizontaler Balken über dem Signaletikett platziert wird. Die Jargon-Datei macht einen Fall, dass foo möglicherweise älter ist als FUBAR

7
Cetra

Aus den Jargon-Dateien http://www.catb.org/jargon/html/F/foo.html

foo:/foo /

  1. interj. Begriff des Ekels.
  2. [sehr häufig] Wird sehr allgemein als Beispielname für absolut alles verwendet, insb. Programme und Dateien (insbesondere Scratch-Dateien).
  3. Zuerst auf der Standardliste der in Syntaxbeispielen verwendeten metasyntaktischen Variablen. Siehe auch Bar, Baz, Qux, Quux, Garply, Waldo, Fred, Plugh, Xyzzy, Thud.

bar:/bar /, n. Bar.

  1. [sehr häufig] Die zweite metasyntaktische Variable nach foo und vor baz. „Angenommen, wir haben zwei Funktionen: FOO und BAR. FOO ruft BAR an ... "
  2. Oft an foo angehängt, um foobar zu produzieren.
7
jop

Laut http://en.wikipedia.org/wiki/Foo :

Die Ursprünge der Begriffe sind nicht mit Sicherheit bekannt, und es wurden mehrere anekdotische Theorien aufgestellt, um sie zu identifizieren. Foobar kann vom vulgären militärischen Akronym FUBAR abgeleitet sein oder aufgrund der Tatsache, dass es gleich ausgesprochen wird, an Popularität gewonnen haben.

5
RichieHindle

Ich stimme der Jargon-Datei zu Foo Bar zu.

Ich kann es mindestens bis 1963 zurückverfolgen und die PDP-1-Seriennummer 2, die sich im zweiten Stock des Gebäudes 26 am MIT befand. Foo und Foo Bar wurden dort und nach 1964 im PDP-6-Raum des Projekts MAC verwendet.

4
Walter Mitty

Soweit ich weiß, stammt foo von foobar, einer Änderung von "fubar", einer militärischen Fangphase, die für " F *** ed steht u p b eyond a ll r Erkenntnis. "

Andererseits kann es andere Quellen geben.

http://en.wikipedia.org/wiki/Foo

2
Chris

Foo and Bar (auch bekannt als FUBAR ... F *** ed Up Beyond All Recognition) wurde gerade als generischer Standardname für Dinge wie Klassen, Eigenschaften, Methodennamen usw. verwendet.

Grundsätzlich besteht die Idee darin, Ihren Code ohne so viele irrelevante Informationen zu übermitteln, die möglicherweise von der Funktionsweise des Codes abweichen könnten (dh wir müssen nicht wissen, dass Ihre Funktion AddUser heißt, um den Code zu sehen und zu verstehen, was er tut, wenn wir ihn umbenennen zu Foo ()).

0
TheTXI