Reacties

  • Het lijkt erop dat geen van de berichten van fmsf ' s veilig is voor RichB ' s pesten.
  • Ja, hij houdt ervan om te veranderen wat ik schrijf, ik ' begin te denken dat hij er geobsedeerd door is
  • de " waarom foo bar? titel is niet erg goed, IMHO
  • Ik ' heb een antwoord toegevoegd met de juiste etymologie (het ' is de meest populaire uit een familie van jargontermen van het Amerikaanse leger uit de Tweede Wereldoorlog) en mijn bron.
  • Het ' is een meme – een overdraagbaar idee . Het is zijn eigen rechtvaardiging.

Antwoord

Foo en bar komen van de afkorting FUBAR van het Amerikaanse leger uit de Tweede Wereldoorlog, “F-ed Up Beyond All Recognition”. Een hele familie van deze termen kwam op grote schaal in gebruik tijdens de Noord-Afrikaanse en Siciliaanse campagnes (1942-43). Rick Atkinson “s uitstekende Dag van de strijd: de oorlog in Sicilië en Italië, 1943-1944 geeft een lijst hiervan. Een JANFU is bijvoorbeeld een” Gezamenlijk leger ” Navy F Up “, zoals het incident op 11 juli 1943 toen de invasievloot voor Operation Husky werd neergeschoten 23 Army Air Force C-47 transporten met parachutisten om het bruggenhoofd te versterken.

Update: Wikipedia heeft een lijst met gerelateerde acroniemen die enkele van de originele WO II-namen bevatten die door Atkinson worden vermeld.

Elke programmeur zal de motivatie begrijpen om foo en bar te gebruiken om variabelen te noemen. hebben vanaf het begin deel uitgemaakt van de C / UNIX-cultuur, en zoals @Walter Mitty aangeeft, dateert van vóór het.

Update (10/5/2009): Hier is Atkinsons beschrijving:

Hun alomtegenwoordige “burgerzin” maakte hen op hun hoede voor krijgshaftige ijver. “We waren geen romantici gevuld met cape-and-sw ordelijk, schreef John Mason Brown, een luitenant van de Navy Reserve op weg naar Sicilië. Daarvoor was de laatste oorlog te dichtbij. Het militaire leven wakkerde hun ironische gevoeligheden en hun scepsis aan. Een enkel ruw acroniem dat de lagere verwachtingen van de soldaat weergeeft – SNAFU, situatie normaal, helemaal verpest – was uitgegroeid tot een vocabulaire van GI-cynisme: SUSFU (situatie onveranderd, nog steeds verpest); FUMTU (meer verkloot dan normaal); JANFU (gezamenlijke leger-marine fuck-up); JAAFU (gezamenlijke Anglo-Amerikaanse fuck-up); FUAFUP (fucked up en fucked up correct); en FUBAR (fucked up onherkenbaar) [Atkinson, p. 36].

Update (23-11-2011): @Hugo heeft een fantastische lijst van de niet-militaire antecedenten.

Reacties

  • Om toe te voegen aan de etymologie: " FUBAR is mogelijk beïnvloed door het Duitse woord furchtbar, wat verschrikkelijk betekent. Het wordt uitgesproken met een zachte cht en heeft waarschijnlijk de overgang gemaakt tijdens de Tweede Wereldoorlog "
  • @Mark, de Duitse Wikipedia (de.wikipedia.org/wiki/Fubar), suggereert dat dit een pseudoëtymologie kan zijn. Het verwijst ook naar anteceden ts zoals het " SILENCE IS FOO " teken in Warner Brother ' s cartoon uit 1938 " The Daffy Doc ".
  • @Jim Ferrans: hoewel FUBAR waarschijnlijk het gebruik van " bar " met " foo ", er is sterke bewijs dat " foo " op zichzelf ruim vóór WO II dateert, met verwijzingen in ieder geval terug naar de jaren dertig, zoals je commentaar aangeeft. Het is misschien goed om dat in de hoofdtekst van je antwoord te vermelden.
  • Ja, foo dateert zeker van vóór WO II. In feite heb ik ' een MIT-krantenstuk uit 1938 gevonden dat ons vertelt hoe vaak het voorkwam: " Als een expletief natuurlijk , " foo!" heeft een duidelijke en waarschijnlijk onvervangbare positie in onze taal, hoewel we vrezen dat het overmatige gebruik waaraan het momenteel wordt blootgesteld, ertoe kan leiden dat het in een vroege (en helaas een donkere) vergetelheid. " Zie mijn antwoord voor meer en een verwijzing uit 1937 in dezelfde krant: programmers.stackexchange.com/questions / 69788 / …

Antwoord

Ik denk dat het de fonetische uitspraak is van fubar.

Wat staat voor:

  • F * cked
  • Omhoog
  • Verder
  • Alle
  • Reparatie

Opmerkingen

  • Reparatie of herkenning; P
  • " Vervuild " wordt vaak gebruikt om beleefd te zijn.
  • repareren? nee .. herkenning
  • Het ' s " herkenning ". Zie offerte van Rick Atkinson ' s Dag van de strijd hier: stackoverflow.com/questions/262271/…
  • Gewoon een opmerking dat er ' sterk bewijs is (zie RFC 3092, het jargonbestand en andere antwoorden hier) dat " foo " werd in de jaren dertig van de vorige eeuw als plaatsvervangend onzinwoord gebruikt, lang voordat FUBAR in het WO II-tijdperk in militair jargon kwam.

Antwoord

Het New Hackers Dictionary heeft hier een zeer goede vermelding – en ik beschouw het als een betere bron voor dit soort dingen dan Wikipedia:

metasyntactische variabele /n./

Een naam die in voorbeelden wordt gebruikt en waarvan wordt aangenomen dat het staat voor wat er ook wordt besproken, of voor een willekeurig lid van een categorie dingen die wordt besproken. Het woord foo is het canonieke voorbeeld. Om verwarring te voorkomen, gebruiken hackers nooit (nou ja, bijna nooit) foo of andere soortgelijke woorden als permanente namen voor wat dan ook. In bestandsnamen is een algemene conventie dat elke bestandsnaam die begint met een metasyntactische variabelenaam een kladbestand is dat kunnen op elk moment worden verwijderd.

Tot op zekere hoogte is de lijst van metasyntactische variabelen die de voorkeur hebben een culturele handtekening. Ze komen zowel in series voor (gebruikt voor gerelateerde groepen variabelen of objecten) als als singletons. Hier zijn een paar veelvoorkomende handtekeningen:

foo, bar, baz, quux, quuux, quuuux …:
MIT / Stanford-gebruik, nu overal te vinden (grotendeels dankzij vroege versies van dit lexicon! ). Bij MIT (maar niet op Stanford) viel baz een tijdje buiten gebruik in de jaren 70 en 80. Een veel voorkomende recente mutatie van deze sequentie voegt qux in voor quux.

bazola, ztesch:
Stanford (vanaf midden jaren 70).

foo, bar, thud, grunt:
Deze serie was populair bij CMU. Andere CMU-gerelateerde variabelen zijn onder meer gorp.

foo, bar, fum:
Deze serie is naar verluidt gebruikelijk bij XEROX PARC.

fred, barney:
Zie het artikel voor fred. Dit zijn meestal Britishisms.

corge, grault, flarp:
Populair bij Rutgers University en onder GOSMACS-hackers.

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

bekijk door Berkeley, GeoWorks, Ingres. Uitgesproken / shme / met een korte / e /.

snorkelen
Brown University, begin jaren 70.

foo, bar, zot
Helsinki University of Technology, Finland.

blarg, wibble
Nieuw-Zeeland.

toto, titi, tata, tutu
Frankrijk.

pippo, pluto, paperino
Italië. Pippo / pee “po / en Paperino / pa-per-ee” -no / zijn de Italiaanse namen voor Goofy en Donald Duck.

aap, noot, mies
Nederland. Dit zijn de eerste woorden die een kind heeft leren spellen op een Nederlands spellingsbord.

Van al deze zijn alleen “foo” en “bar” universeel (en bijna baz). De verbindingen foobar en foobaz hebben ook een zeer brede valuta.

Sommige termen uit het jargon worden ook gebruikt als metasyntactische namen; bijvoorbeeld barf en momble. Zie ook Commonwealth Hackish voor een bespreking van talrijke metasyntactische variabelen die in Great worden gevonden. Groot-Brittannië en het Gemenebest.

Reacties

  • Ik moet zeggen: ik ' m uit NZ en ik ' heb nog nooit gehoord van ' blarg ' OF ' wibble '.
  • Dat was er een redelijk goed. Het ' s uitgebreid. Bedankt kerel.
  • OMG, mijn QL-account is qux. Geschokt …
  • @Colin – Ik heb de link naar een andere site gewijzigd, aangezien de bestaande offline was.
  • Ik vond een aantal andere interessante metasyntactische variabelen uit een MIT 1964-paper over LISP (die natuurlijk ook foo had): chi / boston new york / spinazie butter steak / foo croc k glitch / poot toop / toot toot / isthisatrivial training / ploop flot top / snap craquelepop / one two three / plane sub thresher.Zie mijn antwoord voor meer informatie: programmers.stackexchange.com/questions/69788/…

Antwoord

Wikipedia geeft deze definitie van metasyntactische variabele :

In de informatica gebruiken programmeurs metasyntactische variabelen om een plaatshoudernaam te beschrijven of een aliasterm die vaak wordt gebruikt om het onderwerp dat wordt besproken of een willekeurig lid van een klasse van zaken die ter discussie staan. Het gebruik van een metasyntactische variabele is handig om een programmeur te bevrijden van het maken van een logisch benoemde variabele, wat vaak handig is bij het maken of leren van voorbeelden van een algoritme. Het woord foo is het belangrijkste voorbeeld.
De term “metasyntactische variabele” komt voornamelijk voor in informele literatuur. Het wordt soms ook gebruikt als synoniem voor metavariabele.
Elk symbool of woord dat de regels van de taal niet schendt, kan worden gebruikt als een metasyntactische variabele, maar onzinwoorden worden vaak gebruikt. Hetzelfde concept wordt gebruikt in andere velden waar het wordt uitgedrukt in termen als schematische variabele (zie logische vorm ).
Volgens wiskundige analogie: een metasyntactische variabele is een woord dat een variabele is voor andere woorden, net zoals in algebra letters worden gebruikt als variabelen voor getallen.

Het artikel geeft ook algemene voorbeelden van dergelijke variabelen in verschillende programmeertalen:

C
In het volgende voorbeeld van de programmeertaal C zijn de functienaam foo en de variabelenaambalk beide metasyntactische variabelen. Regels die beginnen met // zijn opmerkingen.

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

Python

Spam, ham en eieren zijn de belangrijkste metasyntactische variabelen die worden gebruikt in de programmeertaal Python . [5] Dit is een verwijzing naar de beroemde komische sketch, Spam, door Monty Python, de naamgever van de taal. [6] In het volgende voorbeeld zijn spam, ham en eieren metasyntactische variabelen en zijn regels die beginnen met # opmerkingen.

# Define a function named spam def spam(): # define the variable ham ham = "Hello World!" #define the variable eggs eggs = 1 return 

Ruby

In het volgende voorbeeld de baz, foo en bar zijn metasyntactische variabelen en regels die beginnen met # zijn commentaren.

# 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 

Answer

Hier is het antwoord van Wikipedia:

De termen foobar, foo , bar en baz, zijn veelgebruikte namen van tijdelijke aanduidingen (ook wel metasyntactische variabelen genoemd) die worden gebruikt in computerprogrammering of computergerelateerde documentatie. Ze worden vaak gebruikt om onbekende waarden weer te geven, meestal bij het beschrijven van een scenario waarin het doel van de onbekende waarden begrepen, maar hun precieze waarden zijn willekeurig en onbelangrijk. De termen kunnen worden gebruikt om elk onderdeel van een gecompliceerd systeem weer te geven em of idee, inclusief de gegevens, variabelen, functies en opdrachten. De woorden zelf hebben geen betekenis in dit gebruik en zijn slechts logische weergaven, net zoals de letters x en y in de algebra worden gebruikt. Foobar wordt vaak alleen gebruikt; foo, bar en baz worden meestal in die volgorde gebruikt als er meerdere entiteiten nodig zijn.

Foo is de Engelse taal binnengekomen als een neologisme en wordt door velen beschouwd als het canonieke voorbeeld van een metasyntactische variabele. [nodig citaat] Het wordt op grote schaal gebruikt in computerprogrammeringsvoorbeelden (soms uitgedrukt als “voor eenmalig”) en pseudocode. Eric S. Raymond heeft het naast kludge en cruft een “belangrijk hackerisme” genoemd. [1]

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

En uit RFC 3092:

Indien gebruikt in verband met “bar” is het over het algemeen terug te voeren op de afkorting FUBAR (“Fucked Up Beyond All Repair”) van het leger uit de Tweede Wereldoorlog, later gewijzigd in foobar. Vroege versies van het jargonbestand [JARGON] interpreteerden deze verandering als een naoorlogse bowdlerisatie, maar het lijkt nu waarschijnlijker dat FUBAR zelf een afgeleide was van foo, misschien beïnvloed door de Duitse furchtbar (verschrikkelijk) – foobar may eigenlijk de oorspronkelijke vorm zijn geweest.

Want het lijkt erop dat het woord “foo” zelf een onmiddellijke vooroorlogse geschiedenis had in stripverhalen en cartoons. In de Warner Brothers-tekenfilm uit 1938, geregisseerd door Robert Clampett, “The Daffy Doc”, houdt een zeer vroege versie van Daffy Duck een bord omhoog met de tekst “SILENCE IS FOO!” …(snip)

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

Reacties

  • of je zou gewoon kunnen toegeven dat het afkomstig is van fubar = ' " f " onherkenbaar hoger '
  • @Jonathan Fingland: nee dat doet het niet ' t. (In feite is " foo " waarschijnlijk ouder dan beide " foobar " en " FUBAR ".) Zie RFC 3092 en het jargonbestand voor " foo ".
  • @Daniel, uitstekende referentie. Toegevoegd

Antwoord

tl; dr

  • “Foo “en” bar “als metasyntactische variabelen werden gepopulariseerd door MIT en DEC, de eerste referenties zijn in werk aan LISP en PDP-1 en Project MAC vanaf 1964.

  • Veel van deze mensen waren in de Tech Model Railroad Club van MIT, waar we het eerste gedocumenteerde gebruik van foo in technische kringen in 1959 vinden (en een variant in 1958 ).

  • Zowel “foo” als “bar” (en zelfs “baz”) waren goed bekend in de populaire cultuur, vooral van de strips van Smokey Stover en Pogo, die gelezen door veel TMRC-leden.

  • Ook lijkt het erop dat de militaire FUBAR heeft bijgedragen aan hun populariteit.


Het gebruik van eenzame “foo” als een onzinwoord is redelijk goed gedocumenteerd in de populaire cultuur in het begin van de 20e eeuw, net als de militaire FUBAR. (Enige achtergrondinformatie: FOLDOC FOLDOC Jargon-bestand Jargon-bestand Wikipedia RFC3092 )


OK, dus laten we wat referenties zoeken.

STOP DRUK! Nadat ik dit antwoord had gepost, ontdekte ik dit perfecte artikel over “foo” in de 1938 editie van The Tech (“MIT” s oudste en grootste krant & de eerste krant die op internet is gepubliceerd “), deel LVII. Nr. 57, prijs drie cent:

Over Foo-isme

The Lounger denkt dat deze zaak van Foo-ism is geweest te ver gedragen door zijn misleide voorstanders, en neemt hierbij en onmiddellijk zijn standpunt in tegen het misbruik ervan. Het kan zijn dat er geen foo is zoals een oude foo, en wij zijn het, maar hoe dan ook, een foo en zijn geld zijn een feest. (Stem van de tribunes – “Don” t be foo-lish! “)

Als een krachtterm heeft” foo! “Natuurlijk een duidelijke en waarschijnlijk onvervangbare positie in onze taal, hoewel we dat vrezen het overmatige gebruik waaraan het momenteel wordt onderworpen, kan er heel goed toe leiden dat het in een vroege (en helaas een donkere) vergetelheid raakt. We zeggen helaas omdat correct gebruik van het woord kan resulteren in gelukkige incidenten als de volgende.

Het was een Thermodynamica-lezing van 8.50 uur door Professor Slater in kamer 6-120. De professor, die de voorkant van het bord had afgedekt, zette de hendel die het liftmechanisme bedient, en draaide zich ondertussen naar de klas om zijn discussie voort te zetten. Het voorbord ging langzaam, majestueus omhoog, waardoor het bord erachter zichtbaar werd, en schrijf op dat bord groot de symbolen die “FOO” spelden!

The Tech krant , een jaar eerder, The Letter to the Editor, september 1937 :

Tegen de tijd dat de trein het station heeft bereikt, zijn de neofieten zo gevuld met de verhalen over de glorie van Phi Omicron Omicron, meestal aangeduid als Foo , dat ze een gemakkelijke prooi zijn.

Het is niet zo dat ik het erg vind om mijn eerste vier zonen te hebben verloren aan de Grote en Universele Broederschap van Phi Omicron Omicron, maar ik doe wens dat mijn vijfde zoon, mijn baby, in ieder geval van tevoren gewaarschuwd zou worden.

Hopelijk die van jou,

Verontwaardigde moeder van vijf.

En The Tech in december 1938 :

De algemene trend in het denken kan het beste worden geïnterpreteerd aan de hand van de opmerkingen aan het einde van de stembiljetten. De ene stem zei: “” Ik denk niet dat wat ik doe iets van Pulver is “, terwijl een andere stem alleen een korte” Foo “toevoegde.


De eerste gedocumenteerde “foo” in technische kringen is waarschijnlijk 1959 “s Woordenboek van de TMRC-taal :

FOO: de heilige lettergreep (FOO MANI PADME HUM); om alleen te spreken als je onder inspiratie bent om met de godheid te communiceren.Onze eerste verplichting is om de Foo Counters draaiend te houden.

Deze worden uitgelegd op FOLDOC . De samensteller van het woordenboek, Pete Samson, zei in 2005:

Het gebruik van dit woord bij TMRC dateert van vóór mijn komst. Een foo-teller kan gewoon willekeurig knipperende lichten hebben , of zou een echte teller kunnen zijn met een obscure invoer.

En uit 1996 “s Jargon-bestand 4.0.0 :

Eerdere versies van dit lexicon hebben “baz” afgeleid als een Stanford-corruptie van bar. Pete Samson (samensteller van het TMRC-lexicon) meldt echter dat het al actueel was toen hij in 1958 bij TMRC kwam. Hij zegt: “Het kwam van” Pogo “. Albert de Alligator, wanneer hij boos of verontwaardigd was, riep” Bazz Fazz! “Of “Rowrbazzle!” De lay-out van de club zou model zijn voor de (mythische) graafschappen Rowrfolk en Bassex in New England (Rowrbazzle vermengde zich met (Norfolk / Suffolk / Middlesex / Essex). “

Een jaar voor het TMRC-woordenboek, 1958 “s MIT Voo Doo Gazette (” Humoraanvulling van de MIT Deans “office”) (PDF) noemt Foocom in “The Laws of Murphy and Finagle” van John Banzhaf (een student elektrotechniek):

Verder onderzoek in het kader van een gezamenlijke beurs van Foocom en Anarcom breidde de wet uit tot allesomvattend en universeel toepasbaar: als er iets mis kan gaan, zal het gebeuren!

Ook 1964 ” s MIT Voo Doo (PDF) verwijst naar het TMRC-gebruik:

Ja! Ik wil meteen een succes en sneeuwklanten zijn. Stuur me een diploma in: …

  • Foo Counters

  • Foo Jung


Maar laten we niet vergeten dat deze vraag gaat over codevoorbeelden, dus laten we “foo”, “bar” en “foobar” zoeken die zijn gepubliceerd in code.

Dus, Jargon-bestand 4.4.7 zegt van “foobar”:

Waarschijnlijk oorspronkelijk verspreid via DECsystem-handleidingen door Digital Equipment Corporation (DEC) in de jaren zestig en begin jaren zeventig; bevestigde waarnemingen daar gaan terug tot 1972.

De eerste gepubliceerde referentie die ik kan vinden is van februari 1964 , maar geschreven in juni 1963, De programmeertaal LISP: zijn werking en toepassingen door Information International, Inc. , met veel auteurs, waaronder Timothy P. Hart en Michael Levin:

Aangezien “FOO” een naam voor zichzelf is, zal “COMITRIN” behandel zowel “FOO” als “(FOO)” op precies dezelfde manier.

Bevat ook andere metasyntactische variabelen zoals: FOO CROCK GLITCH / POOT TOOR / ON YOU / SNAP CRACKLE POP / XYZ

Ik verwacht dat dit vrijwel hetzelfde is als deze volgende referentie van “foo” van MIT “s Project MAC in januari 1964 “s AIM-064, of LISP-oefeningen door Timothy P. Hart en Michael Levin:

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

Het deelt veel andere metasyntactische variabelen zoals: CHI / BOSTON NEW YORK / SPINAZIE BOTER STEAK / FOO CROCK GLITCH / POOT TOOP / TOOT TOOT / ISTHISATRIVIALEXCERCISE / PLOOP FLOT TOP / SNAP CRACKLE POP / ONE TWO THREE / PLANE SUB THRESHER

Voor zowel “foo” als “bar” samen is de vroegste referentie die ik kon vinden van MITs Project MAC in juni 1966 “s AIM-098, of PDP-6 LISP door niemand minder dan Peter Samson:

EXPLODE voegt, net als PRIN1, schuine strepen in, dus (EXPLODE (QUOTE FOO / BAR)) PRIN1 s als (FOO // / BAR) of PRINC “s als (FOO / BAR).


Nog enkele herinneringen.

@Walter Mitty teruggeroepen op deze site in 2008:

Ik tweede het jargon bestand met betrekking tot Foo Bar. Ik kan het in ieder geval terugvoeren tot 1963, en PDP-1 serienummer 2, dat zich op de tweede verdieping van gebouw 26 aan het MIT bevond. Foo en Foo Bar werden daar gebruikt, en na 1964 in de PDP-6-kamer bij project MAC.

John V. Everett herinnert zich in 1996:

Toen ik in 1966 bij DEC kwam, werd foobar al vaak gebruikt als werp- away bestandsnaam. Ik geloof dat fubar foobar werd omdat de PDP-6 zes karakternamen ondersteunde, hoewel ik altijd aannam dat de term van MIT naar DEC was gemigreerd. Er waren in die tijd veel MIT-types bij DEC, van wie sommigen met de 7090/7094 CTSS hadden gewerkt.Aangezien de 709x ook een 36-bits machine was, werd foobar daar mogelijk als een algemene bestandsnaam gebruikt.

Foo en bar werden ook vaak gebruikt als bestandsextensies. Omdat de teksteditors van de dag op een invoerbestand werkten en een uitvoerbestand produceerden, was het gebruikelijk om van een .foo-bestand naar een .bar-bestand te bewerken en weer terug.

Het was ook gebruikelijk om gebruik foo om een buffer te vullen bij het bewerken met TECO. De tekstreeks om precies één schijfblok te vullen was IFOO $ HXA127GA $$. Bijna alle PDP-6/10-programmeurs waarmee ik heb gewerkt, gebruikten dezelfde commandostring.

Daniel PB Smith in 1998:

Dick Gruen had een apparaat in zijn studentenkamer, de gebruikelijke assemblage van B-batterijen, weerstanden, condensatoren en NE-2 neonbuizen, die hij een” foo-teller “noemde. Dit zou ongeveer 1964 zijn geweest.

Robert Schuldenfrei in 1996:

Het gebruik van FOO en BAR als voorbeeldvariabelenamen gaat tenminste terug tot 1964 en de IBM 7070. Ook dit mag dan ouder zijn, maar daar zag ik het voor het eerst. Dit was in Assembler. Wat zou het FORTRAN integer equivalent zijn? IFOO en IBAR?

Paul M. Wexelblat in 1992:

De vroegste PDP-1 Assembler gebruikte twee karakters voor symbolen (18 bit machine) programmeurs lieten altijd een paar woorden over als patchruimte om problemen op te lossen. (Spring naar patchruimte, doe nieuwe code, spring terug) Die ruimte heette conventioneel FU: wat stond voor Fxxx Up, de plaats waar je Fxxx Ups repareerde. Toen het werd uitgesproken, stond het bekend als FU-ruimte. Latere Assemblers (bijv. MIDAS stond drie char-tags toe, zodat FU FOO werd, en zoals ALLE PDP-1-programmeurs je zullen vertellen dat dat FOO-spatie was.

Bruce B. Reynolds in 1996:

Aan de IBM-kant van FOO (FU) BAR is het gebruik van de BAR-kant als basisadresregister; in het midden van de jaren 70 moesten CICS-programmeurs zich zorgen maken over de verschillende xxxBARs … ik denk dat een daarvan FRACTBAR was …

Hier” is een rechte IBM “BAR” uit 1955.


Andere vroege referenties:


Ik heb geen verwijzingen kunnen vinden naar foo bar als “inverted foo signal “zoals gesuggereerd in RFC3092 en elders.

Hier zijn een paar van zelfs eerdere F00s, maar ik denk dat het” toeval / fout-positieven zijn:

Antwoord

door woorden als “foo” en “bar” te gebruiken, kunt u zich concentreren op de concept niet op wat u kunt begrijpen op basis van de termen die u kent. Bijvoorbeeld:

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"); } } 

De bovenstaande code laat u terugvallen op uw kennis van zaken uit de echte wereld.

Als u een concept probeert uit te leggen waarbij het belangrijkste deel niet is wat er wordt gedaan (bijvoorbeeld miauwen of blaffen afdrukken), maar hoe het wordt gedaan, dan helpt het verwijderen van de bekende onderdelen:

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"); } } 

Nu u zich moet concentreren op wat er werkelijk gebeurt, kunt u niet langer raden wat er gaat gebeuren.

De korte versie is dus dat foo, bar en dergelijke worden gebruikt om concepten te benadrukken waarvan de inhoud er niet echt toe doet, maar het idee wel.

Opmerkingen

  • ah, een echt antwoord!
  • Ja, maar waarom specifiek Foo en Bar? Waarom Lorum en Ipsum niet?
  • en.wikipedia.org/wiki/Foo kan juist zijn …
  • @TofuBeer Ja, ze ' re " metasyntactische variabelen ". @masher ziet mijn antwoord met heel veel verwijzingen waarom Foo en Bar en niet Lorem en Ipsum. programmers.stackexchange.com/questions/69788/… In feite zijn er heel veel verschillende metasyntactische variabelen die gebruikt door de jaren heen en op verschillende plaatsen.

Antwoord

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

In de technologie werd het woord waarschijnlijk oorspronkelijk verspreid via systeemhandleidingen door Digital Equipment Corporation in de jaren zestig en begin jaren zeventig . Een andere mogelijkheid is dat foobar is voortgekomen uit elektronica, als een omgekeerd foo-signaal. Dit komt doordat als een digitaal signaal laag actief is (dus een negatieve of nulspanning staat voor een “1”), dan wordt gewoonlijk een horizontale balk over het signaallabel geplaatst. Het jargonbestand maakt een argument dat foo mogelijk ouder is dan FUBAR

Opmerkingen

  • dit verklaart niet waarom
  • I ' we hebben veel referenties gevonden van de eerste " foo " en later " bar " van MIT en ook DEC (beide in Massachusetts), in hun werk aan LISP en de PDP-1 en Project MAC vanaf 1964. Het ' is een leuk idee, maar ik kon ' geen verwijzing vinden naar een " omgekeerd foo-signaal ". Meer hier: programmers.stackexchange.com/questions/69788/…

Antwoord

Uit de jargonbestanden http://www.catb.org/jargon/html/F/foo.html

foo: / foo /

  1. interj. Term van walging.
  2. [heel vaak] Wordt in het algemeen gebruikt als een voorbeeldnaam voor absoluut alles, in het bijzonder. programmas en bestanden (in het bijzonder scratch-bestanden).
  3. Eerst op de standaardlijst van metasyntactische variabelen die in syntaxisvoorbeelden worden gebruikt. Zie ook bar, baz, qux, quux, garply, waldo, fred, plugh, xyzzy, thud.

bar: / bar /, n.

  1. [heel vaak] De tweede metasyntactische variabele, na foo en vóór baz. “Stel dat we twee functies hebben: FOO en BAR. FOO roept BAR … ”
  2. Wordt vaak toegevoegd aan foo om foobar te produceren.

Antwoord

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

De termen oorsprong zijn niet met zekerheid bekend, en er zijn verschillende anekdotische theorieën ontwikkeld om ze te identificeren. Foobar kan zijn afgeleid van het vulgaire militaire acroniem FUBAR, of het kan aan populariteit hebben gewonnen doordat het wordt uitgesproken als de hetzelfde.

Antwoord

Ik tweede het jargon-bestand over Foo Bar.

Ik kan het op zijn minst terugvoeren tot 1963, en PDP-1 serienummer 2, dat zich op de tweede verdieping van gebouw 26 aan het MIT bevond. Foo en Foo Bar werden daar gebruikt, en na 1964 bij de PDP-6-kamer bij project MAC.

Opmerkingen

Answer

Voor zover ik weet, komt foo van foobar, wat een wijziging van “fubar”, een militaire catch-phraase die staat voor “ F *** ed u p b eyond a ll r ecognitie.”

Aan de andere kant kunnen er andere bronnen zijn.

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

Antwoord

Foo en Bar (ook wel bekend als FUBAR … F *** ed Up Beyond All Recognition) is zojuist gebruikt als standaard generieke namen voor zaken als klassen, eigenschappen, methodenamen , etc.

In wezen is het de bedoeling om uw code over te brengen zonder zoveel externe informatie die mogelijk zou kunnen wegnemen van hoe de code werkt (dwz we hoeven niet te weten dat uw functie AddUser heet om de code en begrijpen wat het doet als we het hernoemen naar Foo ()).

Answer

Dit zijn onzinwoorden die in de meeste gevallen kunnen worden vervangen door meer relevante voorbeeldwoorden. De woorden “foo” en “bar” worden vaak gebruikt bij het programmeren wanneer iemand “geen goed voorbeeld kan bedenken”.

Als “foo” en “bar” zijn afgeleid van FUBAR, waarom worden ze dan door zoveel professionals gebruikt in instructievoorbeelden als de voorbeelden lijken op niets dat onherkenbaar is uitgevonden?

Voor mij is het gewone gebruik van deze woorden ten onrechte wat ‘zo’ onherkenbaar is.

Opmerkingen

  • Merk op dat net onder de vraag staat een banner: We ' zoeken naar lange antwoorden die enige uitleg en context bieden. Don ' t geef gewoon een eenregelig antwoord; leg uit waarom uw antwoord juist is, idealiter met citaten. Antwoorden die geen ' uitleg bevatten, kunnen worden verwijderd. Uw antwoord biedt weinig de weg van een uitleg; momenteel is het slechts een mening.
  • Er zijn veel andere korte antwoorden. Waarom zou je geen argument geven als je het niet eens bent met ' wat ik ' m zeg in plaats van te wijzen op een technisch aspect dat niet ' niet toepassen?
  • bewerken in rev 2 maakte dit antwoord nog erger dan voorheen (hoewel het moeilijk voor te stellen was wat erger kon zijn): nu is slechts een herhaling een ander antwoord dat 4 jaar geleden is gepost

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *