Kommentare

  • Es sieht so aus, als ob keiner der Beiträge von fmsf ' vor RichB ' ist Mobbing.
  • Ja, er liebt es zu ändern, was ich schreibe. Ich ' fange an zu glauben, dass er davon besessen ist
  • die " warum foo bar? Titel ist nicht sehr gut, IMHO
  • Ich ' habe eine Antwort mit der richtigen Etymologie hinzugefügt (es ' ist das beliebteste einer Familie von Slang-Begriffen der US-Armee des Zweiten Weltkriegs) und meine Quelle.
  • Es ist ein Meme – eine kommunizierbare Idee. ' . Dies ist eine eigene Rechtfertigung.

Antwort

Foo und bar stammen vom Akronym FUBAR der US-Armee aus dem Zweiten Weltkrieg, „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 ausgezeichneter Tag der Schlacht: Der Krieg in Sizilien und Italien, 1943-1944 gibt eine Liste davon. Zum Beispiel ist eine JANFU eine „gemeinsame Armee“ Navy F Up „, wie der Vorfall am 11. Juli 1943, als die Invasionsflotte für Operation Husky abgeschossen wurde 23 Transporte der Army Air Force C-47 mit Fallschirmjägern zur Verstärkung des Brückenkopfs.

Update: Wikipedia hat eine -Liste mit verwandten Akronyme, die einige der von Atkinson aufgelisteten Original-Akronyme enthalten.

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

Update (05.10.2009): Hier die Beschreibung von „s Atkinson“:

Ihre allgegenwärtige „Zivilität“ machte sie misstrauisch gegenüber kriegerischem Eifer. „Wir waren keine Romantiker, die mit Umhang und Sw gefüllt waren ord twaddle „, 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 einfing – SNAFU, „Situation normal, alles beschissen“ – hatte sich zu einem Vokabular des GI-Zynismus erweitert: SUSFU (Situation unverändert, immer noch beschissen); FUMTU (mehr beschissen) als üblich), JANFU (gemeinsames Army-Navy-Fuck-up), JAAFU (gemeinsames angloamerikanisches Fuck-up), FUAFUP (richtig 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 Vorgeschichte.

Kommentare

  • So fügen Sie der Etymologie hinzu: " FUBAR wurde möglicherweise durch das deutsche Wort furchtbar beeinflusst, was schrecklich bedeutet. Es wird mit einem weichen cht ausgesprochen und hat wahrscheinlich den Übergang während des Zweiten Weltkriegs vollzogen. "
  • @Mark, die deutsche Wikipedia (de.wikipedia.org/wiki/Fubar), schlägt vor, dass dies eine Pseudoetymologie sein könnte. Sie weist auch auf Antezeden hin ts wie das " SILENCE IS FOO " in Warner Brothers ' s 1938-Cartoon " Der Daffy Doc ".
  • @Jim Ferrans: Während FUBAR wahrscheinlich die Verwendung von bar " mit " foo " gibt es starke Beweise dafür, dass " foo " für sich genommen weit vor dem Zweiten Weltkrieg liegt, mit Verweisen zumindest auf die 1930er Jahre, wie Ihr Kommentar zeigt. Es könnte gut sein, dies im Hauptteil Ihrer Antwort zu erwähnen.
  • Ja, foo ist definitiv älter als der Zweite Weltkrieg. Tatsächlich habe ich ' ein MIT-Zeitungsstück aus dem Jahr 1938 gefunden, das uns sagt, wie häufig es war: " Als Explosivstoff natürlich , " foo!" hat eine bestimmte und wahrscheinlich unersetzliche Position in unserer Sprache, obwohl wir befürchten, dass die übermäßige Verwendung, der es derzeit ausgesetzt ist, dazu führen kann, dass es in eine frühe (und leider) eine dunkle) Vergessenheit. " Weitere Informationen und eine Referenz von 1937 finden Sie in derselben Zeitung: programmers.stackexchange.com/questions / 69788 / …

Antwort

Ich denke, es ist die phonetische Aussprache von fubar.

Was steht für:

  • F * cked
  • Up
  • Über
  • Alle
  • Reparieren

Kommentare

  • Reparieren oder Erkennen; P
  • " Verschmutzt " wird häufig verwendet, wenn höflich sein muss.
  • reparieren? nah .. Erkennung
  • Es ist ' s " Erkennung ". Siehe Zitat von Rick Atkinson ' s Tag der Schlacht hier: stackoverflow.com/questions/262271/…
  • Nur eine Anmerkung, dass es ' starke Beweise gibt (siehe RFC 3092, die Jargon-Datei und andere Antworten hier), dass " foo " wurde in den 1930er Jahren als Platzhalter-Unsinn verwendet, lange bevor FUBAR im Zweiten Weltkrieg in den militärischen Slang kam.

Antwort

Das New Hacker-Wörterbuch 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, die zur Diskussion stehen. Das Wort foo ist das kanonische Beispiel. Um Verwirrung zu vermeiden, verwenden Hacker niemals (naja, kaum jemals) „foo“ oder ähnliche Wörter als permanente Namen für irgendetwas. In Dateinamen ist eine übliche Konvention, dass jeder Dateiname, der mit einem metasyntaktischen Variablennamen beginnt, eine Arbeitsdatei sein kann jederzeit gelöscht werden.

Bis zu einem gewissen Grad 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, die jetzt überall zu finden ist (hauptsächlich dank früherer Versionen dieses Lexikons! ). Am MIT (aber nicht in 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:
Universität Cambridge (England).

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

Schnorchel
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
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 fast so). Die Verbindungen foobar und `foobaz“ sind ebenfalls sehr weit verbreitet.

Einige Fachbegriffe werden auch als metasyntaktische Namen verwendet, z. B. barf und mumble. Siehe auch Commonwealth Hackish für die Diskussion zahlreicher metasyntaktischer Variablen in Great Großbritannien und das Commonwealth.

Kommentare

  • Ich muss sagen, ich ' m aus Neuseeland und ich ' haben noch nie von ' blarg ' ODER ' wibble '.
  • Das war ziemlich gut. Es ' ist ausführlich. Danke, Alter.
  • OMG, mein QL-Konto ist qux. Schockiert …
  • @Colin – Ich habe den Link zu einer anderen Site geändert. da die bestehende offline war.
  • Ich fand einige andere interessante metasyntaktische Variablen aus einem MIT 1964-Artikel über LISP (der natürlich auch foo hatte): Chi / Boston New York / Spinat-Buttersteak / Foo-Krokodil k Glitch / Poot Toop / Toot Toot / Isthisatrivialexcercise / Ploop Flot Top / Snap Crackle Pop / Eins Zwei Drei / Flugzeug Sub Drescher.Weitere Informationen finden Sie in meiner Antwort: programmers.stackexchange.com/questions/69788/…

Antwort

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 von verwendet wird eine Klasse von Dingen, die zur Diskussion stehen. 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“ kommt hauptsächlich in der informellen Literatur vor. 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 angewendet, in denen es durch Begriffe wie schematische Variable ausgedrückt wird (siehe logische Form ).
Durch mathematische 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 dafür 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 mit # beginnende Zeilen 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 baz, foo und bar sind 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 

Antwort

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 häufig zur Darstellung unbekannter Werte verwendet, normalerweise bei der Beschreibung eines Szenarios, in dem der Zweck der unbekannten Werte liegt verstanden, aber ihre genauen Werte sind willkürlich und unwichtig. Die Begriffe können verwendet werden, um jeden Teil eines komplizierten Systems darzustellen em oder Idee, 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 hat die englische Sprache als Neologismus eingegeben und wird von vielen als kanonisches Beispiel für eine metasyntaktische Variable angesehen. [Zitieren erforderlich] Es wird häufig in Computerprogrammierbeispielen (manchmal als „nur einmal“ ausgedrückt) und Pseudocode verwendet. Eric S. Raymond hat es neben Kludge und Cruft als „wichtigen Hackerismus“ bezeichnet. [1]

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

Und aus RFC 3092:

Bei Verwendung im Zusammenhang mit „bar“ wird es im Allgemeinen auf das Army-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, möglicherweise beeinflusst von deutschem „furchtbar“ (schrecklich) – „foobar“ Eigentlich war es die ursprüngliche Form.

Denn anscheinend hatte das Wort „foo“ selbst eine unmittelbare Vorkriegsgeschichte in Comics und Cartoons. In dem 1938 von Robert Clampett inszenierten Warner Brothers-Cartoon „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

Kommentare

  • oder Sie könnten einfach zugeben, dass es von fubar = ' f " bis zur Unkenntlichkeit '
  • @Jonathan Fingland: Nein, das tut es nicht ' t. (Tatsächlich ist " foo " wahrscheinlich älter als beide " foobar " und " FUBAR ".) Siehe RFC 3092 und den Jargon-Dateieintrag für " foo ".
  • @Daniel, ausgezeichnete Referenz.

Antwort

tl; dr

  • „Foo hinzugefügt „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 (und eine Variante 1958) die erste dokumentierte Verwendung von „foo“ in technischen Kreisen finden ).

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

  • Außerdem scheint es wahrscheinlich, dass die militärische FUBAR zu ihrer Popularität beigetragen hat.


Die Verwendung von einsamen „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-Datei Jargon-Datei Wikipedia RFC3092 )


OK, also lassen Sie 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:

Über den Foo-Ismus

Die Lounger glaubt, dass dieses Geschäft des Foo-Ismus gewesen ist wird von seinen fehlgeleiteten Befürwortern zu weit getragen 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 den Tribünen – „Sei nicht foo-lisch!“)

Als Explosivstoff hat „foo!“ Natürlich eine bestimmte und wahrscheinlich unersetzliche Position in unserer Sprache, obwohl wir das fürchten Der übermäßige Gebrauch, dem es gegenwärtig ausgesetzt ist, kann durchaus dazu führen, 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 an und enthüllte das Brett dahinter. Auf dieses Brett wurden die Symbole mit der Aufschrift „FOO“ groß geschrieben!

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

Bis der Zug den Bahnhof erreicht hat, sind die Neophyten so erfüllt von den 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 tue es Ich wünschte, mein fünfter Sohn, mein Baby, sollte zumindest im Voraus gewarnt werden.

Hoffentlich Ihre,

empörte Mutter von fünf Kindern.

und The Tech im Dezember 1938 :

Der allgemeine Gedankengang lässt sich am besten anhand der Bemerkungen am Ende der Abstimmungen 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 gesprochen werden, wenn man unter Inspiration steht, um mit der Gottheit zu kommunizieren.Unsere erste Verpflichtung besteht darin, die Foo-Zähler am Laufen zu halten.

Diese werden unter FOLDOC . Der Compiler des Wörterbuchs, Pete Samson, sagte 2005:

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

Und ab 1996 „s Jargon-Datei 4.0.0 :

Frühere Versionen dieses Lexikons haben „baz“ als Stanford-Korruption von 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“ Bazz Fazz! “ „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 „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 Foocom- und Anarcom-Stipendiums haben das Gesetz auf ein umfassendes und universell anwendbares Gesetz ausgeweitet: 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 Counters

  • Foo Jung


Aber denken wir daran, dass es sich bei dieser Frage um Codebeispiele handelt. Lassen Sie uns also „foo“, „bar“ und „foobar“ finden, die in veröffentlicht wurden Code.

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; Die dort bestätigten Sichtungen gehen auf das Jahr 1972 zurück.

Die erste veröffentlichte Referenz, die ich finden kann, stammt aus dem Februar 1964 , aber im Juni 1963 geschrieben, Die Programmiersprache LISP: Betrieb 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“ Behandeln Sie sowohl „FOO“ als auch „(FOO)“ genauso.

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

Ich gehe davon aus, dass dies der nächsten Referenz von „foo“ aus MITs Projekt MAC im Januar 1964 s 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 / SPINATBUTTER STEAK / FOO CROCK GLITCH / POOT TOOP / TOOT TOOT / ISTHISATRIVIALEXCERCISE / PLOOP FLOT TOP / SNAP CRACKLE POP / EIN ZWEI DREI / FLUGZEUG-SUB-THRESHER

Für „foo“ und „bar“ zusammen ist die früheste Referenz, die ich finden konnte, aus MITs Projekt MAC im Juni 1966 s 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 „s as (FOO // / BAR) oder PRINC als (FOO / BAR).


Weitere Rückrufe.

@Walter Mitty wurde 2008 auf dieser Site zurückgerufen:

Ich stimme dem Jargon zu Datei in Bezug auf Foo Bar. 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 Wurf- verwendet. weg Dateiname. 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. Damals 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.

Dies war auch üblich Verwenden Sie foo, um einen Puffer zu füllen, wenn Sie mit TECO bearbeiten. 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 PB Smith im Jahr 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 im Jahr 1996:

Die Verwendung von FOO und BAR als Beispielvariablennamen geht mindestens auf 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 im Jahr 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 erstellen, zurückspringen) Dieser Speicherplatz wurde herkömmlicherweise FU genannt: Er stand für Fxxx Up, den Ort, an dem Sie Fxxx Ups repariert haben. Wenn es gesprochen wurde, war es als FU-Raum bekannt. Spätere Assembler (z. B. MIDAS erlaubte drei Zeichen-Tags, sodass FU FOO wurde, und ALLE PDP-1-Programmierer werden Ihnen sagen, dass dies FOO-Speicherplatz war.

Bruce B. Reynolds im Jahr 1996:

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

Hier“ ist 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 / falsch positive Ergebnisse:

Antwort

Mit Wörtern wie „foo“ und „bar“ können Sie sich auf das konzentrieren Konzept nicht auf dem, 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 besagt also, dass foo, bar und dergleichen verwendet werden, um Konzepte hervorzuheben, bei denen der Inhalt nicht wirklich wichtig ist, aber die Idee.

Kommentare

  • ah, eine echte Antwort!
  • Ja, aber warum speziell Foo und Bar? Warum nicht Lorum und Ipsum?
  • en.wikipedia.org/wiki/Foo könnte genau sein …
  • @TofuBeer Ja, sie ' sind " metasyntaktische Variablen ". @masher sehen meine Antwort mit vielen Referenzen, warum Foo und Bar und nicht Lorem und Ipsum. programmers.stackexchange.com/questions/69788/… Tatsächlich gibt es viele verschiedene metasyntaktische Variablen wurde im Laufe der Jahre und an verschiedenen Orten verwendet.

Antwort

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

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 ist, dass sich Foobar aus der Elektronik als invertiertes Foo-Signal entwickelt hat. Dies liegt daran, dass, wenn ein digitales Signal niedrig aktiv 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

Kommentare

  • Dies erklärt nicht das Warum
  • I ' Ich habe viele Referenzen von zuerst " foo " und später bar " vom MIT und auch von DEC (beide in Massachusetts) in ihrer Arbeit an LISP und PDP-1 und Project MAC ab 1964. ' ist eine gute Idee, aber ich konnte ' keinen Verweis auf eine " finden invertiertes foo-Signal ". Mehr hier: programmers.stackexchange.com/questions/69788/…

Antwort

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 in der Standardliste der in Syntaxbeispielen verwendeten metasyntaktischen Variablen. Siehe auch bar, baz, qux, quux, garply, waldo, fred, plugh, xyzzy, thud.

bar: / bar /, n.

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

Antwort

Gemäß http://en.wikipedia.org/wiki/Foo :

Die Begriffe „Ursprünge“ 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 ausgesprochen wird, an Popularität gewonnen haben gleich.

Antwort

Ich unterstütze die Jargon-Datei in Bezug auf Foo Bar.

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 im Projekt MAC.

Kommentare

Antwort

Soweit ich weiß, kommt foo von foobar, einem Änderung von „fubar“, einer militärischen Fangphase, die für „ F *** ed u p b eyond a ll r ecognition.“

Andererseits kann es andere Quellen geben.

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

Antwort

Foo und Bar (auch bekannt als FUBAR … F *** ed Up Beyond All Recognition) wurden gerade als generische Standardnamen für Dinge wie Klassen, Eigenschaften, Methodennamen verwendet usw.

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 anzuzeigen Code und verstehe, was es tut, wenn wir es in Foo ()) umbenennen.

Antwort

Dies sind Unsinnswörter, die in den meisten Fällen vorkommen Fälle können durch relevantere Beispielwörter ersetzt werden. Die Wörter „foo“ und „bar“ werden häufig in der Programmierung verwendet, wenn sich jemand kein gutes Beispiel vorstellen kann.

Wenn „foo“ und „bar“ von FUBAR abgeleitet sind, warum werden sie dann von so vielen Fachleuten in Anweisungsbeispielen verwendet, wenn die Beispiele nichts ähneln, was bis zur Unkenntlichkeit gefunden wurde?

Für mich ist die übliche Verwendung dieser Wörter unangemessen, was bis zur Unkenntlichkeit so weit fortgeschritten ist.

Kommentare

  • Beachten Sie, dass Direkt unter der Frage befindet sich ein Banner: Wir ' suchen nach langen Antworten, die eine Erklärung und einen Kontext bieten. Don ' t Geben Sie einfach eine einzeilige Antwort und erklären Sie, warum Ihre Antwort richtig ist, idealerweise mit Zitaten. Antworten, die ' keine Erklärungen enthalten, werden möglicherweise entfernt. Ihre Antwort bietet wenig Informationen Der Weg einer Erklärung, derzeit ist es nur eine Meinung.
  • Es gibt viele andere kurze Antworten. Warum nicht ein Argument angeben, wenn Sie ' nicht zustimmen Was ich ' sage, anstatt auf eine Technik hinzuweisen, die dies nicht tut ' nicht zutreffen?
  • Bearbeiten in Version 2 machte diese Antwort noch schlimmer als zuvor (obwohl es schwer vorstellbar war, was schlimmer sein könnte): jetzt ist es ist nur eine Wiederholung eine andere Antwort , die vor 4 Jahren veröffentlicht wurde

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.