Kommentarer
- Det ser ud til, at ingen af fmsf ' s indlæg er sikre fra RichB ' s mobning.
- Ja, han elsker at ændre det, jeg skriver, jeg ' Jeg begynder at tro, at han er besat af det
- " hvorfor foo bar? titel er ikke særlig god, IMHO
- I ' har tilføjet et svar med den korrekte etymologi (det ' er den mest populære af en familie af 2. verdenskrigs amerikanske hærs slangudtryk) og min kilde.
- Det ' sa meme – en overførbar idé . Det er dets egen begrundelse.
Svar
Foo og bar kommer fra den amerikanske hærs anden verdenskrigs akronym FUBAR, “F-ed Up Beyond All Recognition”. En hel familie af disse udtryk kom i bred udstrækning under de nordafrikanske og sicilianske kampagner (1942-43). Rick Atkinsons fremragende Kampdag: Krigen på Sicilien og Italien, 1943-1944 giver en liste over disse. F.eks. Er en JANFU en “fælles hær” Navy F Up “, såsom hændelsen den 11. juli 1943, da invationsflåden for Operation Husky skudt ned 23 Army Air Force C-47 transporter med faldskærmsudspringere for at forstærke strandhovedet.
Opdatering: Wikipedia har en liste med relaterede akronymer, der inkluderer nogle af de originale WWIIer, der er opført af Atkinson.
Enhver programmør vil forstå motivationen til at bruge foo og bar til at navngive variabler. har været en del af C / UNIX-kulturen fra starten, og som @Walter Mitty påpeger forud for den.
Opdatering (10/5/2009): Her er “s Atkinson” s beskrivelse:
Deres gennemgribende “civilianness” gjorde dem opmærksomme på kampsindet. “Vi var ikke romantikere fyldt med kappe-og-sv ord twaddle, “skrev John Mason Brown, en Navy Reserve løjtnant på vej til Sicilien. “Den sidste krig var for nær til det.” Militærlivet betændte deres ironiske følsomhed og deres skepsis. Et enkelt groft akronym, der fangede soldatens “sænkede forventninger – SNAFU,” situation normal, alt sammen fucked up “- havde udvidet sig til et ordforråd af GI-kynisme: SUSFU (situation uændret, stadig fucked up); FUMTU (fucked up mere end normalt); JANFU (fælles hær-marine fuck-up); JAAFU (fælles anglo-amerikansk fuck-up); FUAFUP (fucked up og fucked up ordentligt); og FUBAR (fucked up over al anerkendelse) [Atkinson, s. 36].
Opdatering (23/11/2011): @Hugo har en fantastisk liste af de ikke-militære fortilfælde.
Kommentarer
- For at føje til etymologien: " FUBAR kan have været påvirket af det tyske ord furchtbar, hvilket betyder forfærdeligt. Det udtages med en blød cht og sandsynligvis gjort overgangen under 2. verdenskrig "
- @Mark, den tyske Wikipedia (de.wikipedia.org/wiki/Fubar), antyder at dette kan være en pseudoetymologi. Det peger også på anteceden ts som " SILENCE IS FOO " tegn på Warner Brother ' s tegneserie fra 1938 " Daffy Doc ".
- @Jim Ferrans: Mens FUBAR sandsynligvis har påvirket brugen af " bar " med " foo ", der er stærk bevis for, at " foo " i sig selv forud for WWII, med henvisninger i det mindste tilbage til 1930erne, som din kommentar indikerer. Det kan være godt at nævne det i selve dit svar.
- Ja, foo er bestemt forud for WWII. Faktisk fandt jeg ' et MIT-avisstykke fra 1938, der fortæller os, hvor almindeligt det var: " Som en forklarende naturligvis , " foo!" har en bestemt og sandsynligvis uerstattelig position på vores sprog, skønt vi frygter, at den overdrevne anvendelse, som den i øjeblikket udsættes for, muligvis kan resultere i, at den falder i en tidlig (og ak en mørk glemsel. " Se mit svar for mere og en 1937-reference i samme avis: programmers.stackexchange.com/questions / 69788 / …
Svar
Jeg tror, det er den fonetiske udtale af fubar.
Hvilket står for:
- F * cked
- Up
- Beyond
- Alle
- Reparationer
Kommentarer
- Reparation eller anerkendelse; P
- " Fouled " bruges ofte, når det er nødvendigt at være høflig.
- reparation? nah .. anerkendelse
- Det ' s " genkendelse ". Se tilbud fra Rick Atkinson ' S kampdag her: stackoverflow.com/questions/262271/…
- Bare en bemærkning om, at der ' er stærke beviser (se RFC 3092, Jargon File og andre svar her), at " foo " blev brugt som et pladsholder nonsensord i 1930erne, længe før FUBAR kom ind i militær slang i WWII-æraen.
Svar
New Hackers Dictionary har en meget god indlæg om dette – og jeg anser det for at være en bedre ressource for denne slags ting end Wikipedia:
metasyntaktisk variabel /n./
Et navn brugt i eksempler og forstået for at stå for den ting der er under diskussion eller ethvert tilfældigt medlem af en klasse af ting under diskussion. Ordet foo er det kanoniske eksempel. For at undgå forvirring bruger hackere aldrig (ja, næsten aldrig) `foo eller andre ord som det som permanente navne til noget. I filnavne er en almindelig konvention, at ethvert filnavn, der begynder med et metasyntaktisk variabelnavn, er en bundfil, der muligvis slettes når som helst.
Til en vis grad er listen over ens foretrukne metasyntaktiske variabler en kulturel signatur. De forekommer både i serier (bruges til relaterede grupper af variabler eller objekter) og som singletoner. Her er et par almindelige underskrifter:
foo, bar, baz, quux, quuux, quuuux …:
MIT / Stanford-brug, findes nu overalt (takket være de tidlige versioner af dette leksikon! ). På MIT (men ikke i Stanford) faldt baz ud af brug i et stykke tid i 1970erne og “80erne. En almindelig nylig mutation af denne sekvens indsætter qux før quux.bazola, ztesch:
Stanford (fra midten af 70erne).foo, bar, thud, grunt:
Denne serie var populær på CMU. Andre CMU-associerede variabler inkluderer gorp.foo, bar, fum:
Denne serie rapporteres at være almindelig ved XEROX PARC.fred, barney:
Se posten for fred. Disse har tendens til at være britismer.corge, grault, flarp:
Populær ved Rutgers University og blandt GOSMACS-hackere.zxc, spqr, wombat:
Cambridge University (England).shme
Berkeley, GeoWorks, Ingres. Udtales / shme / med en kort / e /.snork
Brown University, begyndelsen af 1970erne.foo, bar, zot
Helsinki University of Technology, Finland.blarg, wibble
New Zealand.toto, titi, tata, tutu
Frankrig.pippo, pluto, paperino
Italien. Pippo / tisse “po / og Paperino / pa-per-ee” -no / er de italienske navne på Goofy og Donald Duck.aap, noot, mies
Holland. Dette er de første ord, et barn brugte til at lære at stave på et hollandsk stavebræt.Af alle disse er kun “foo” og “bar” universelle (og baz næsten). Forbindelserne foobar og `foobaz” nyder også meget bred valuta.
Nogle jargonudtryk bruges også som metasyntaktiske navne; for eksempel barf og mumle. Se også Commonwealth Hackish for diskussion af adskillige metasyntaktiske variabler, der findes i Great Storbritannien og Commonwealth.
Kommentarer
- Må sige, jeg ' m fra NZ og jeg ' har aldrig hørt om ' blarg ' ELLER ' wibble '.
- Det var ret godt. Det ' er detaljeret. Tak fyr.
- OMG, min QL-konto er qux. Chokeret …
- @Colin – Jeg ændrede linket til et andet sted, da den eksisterende var offline.
- Jeg fandt nogle andre interessante metasyntaktiske variabler fra et MIT 1964-papir om LISP (der selvfølgelig også havde foo): chi / boston new york / spinat smørbøf / foo croc k glitch / poot toop / toot toot / isthisatrivialexercise / ploop flot top / snap crackle pop / one two three / plane sub thrashher.Se mit svar for mere info: programmers.stackexchange.com/questions/69788/…
Svar
Wikipedia giver denne definition af metasyntaktisk variabel :
I datalogi bruger programmører metasyntaktiske variabler til at beskrive et pladsholdernavn eller et aliasudtryk, der almindeligvis bruges til at betegne det emne, der er under diskussion, eller et vilkårligt medlem af en klasse af ting under diskussion. Brug af en metasyntaktisk variabel er nyttig til at frigøre en programmør fra at oprette en logisk navngivet variabel, hvilket ofte er nyttigt, når man opretter eller underviser i eksempler på en algoritme. Ordet foo er det vigtigste eksempel.
Udtrykket “metasyntaktisk variabel” findes primært i uformel litteratur. Det bruges undertiden også som et synonym for metavariabel.
Ethvert symbol eller ord, der ikke overtræder sprogets regler, kan bruges som en metasyntaktisk variabel, men nonsensord bruges ofte. Det samme koncept anvendes i andre felter, hvor det udtrykkes ved udtryk som skematisk variabel (se logisk form ).
Ved matematisk analogi: En metasyntaktisk variabel er et ord, der er en variabel for andre ord, ligesom i algebra bogstaver bruges som variabler for tal.
Artiklen giver også almindelige eksempler på sådan variabler i forskellige programmeringssprog:
C
I det følgende eksempel på C-programmeringssproget er funktionsnavnet foo og variabelnavnslinjen begge metasyntaktiske variabler. Linjer, der starter med // er kommentarer.
// The function named foo int foo(void) { // Declare the variable bar and set the value to 1 int bar = 1; return bar; }
Python
Spam, skinke og æg er de vigtigste metasyntaktiske variabler, der bruges i Python-programmeringssproget . [5] Dette er en henvisning til den berømte komediskitse, Spam, af Monty Python, sprogets eponym. [6] I det følgende eksempel er spam, skinke og æg metasyntaktiske variabler, og linjer, der begynder med #, er kommentarer.
# Define a function named spam def spam(): # define the variable ham ham = "Hello World!" #define the variable eggs eggs = 1 return
Ruby
I det følgende eksempel baz, foo og bar er metasyntaktiske variabler, og linjer, der begynder med #, er kommentarer.
# 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
Svar
Her er wikipedias svar:
Udtrykkene foobar, foo , bar og baz, er almindelige pladsholdernavne (også kaldet metasyntaktiske variabler), der bruges i computerprogrammering eller computerrelateret dokumentation. De bruges ofte til at repræsentere ukendte værdier, typisk når man beskriver et scenario, hvor formålet med de ukendte værdier er forstået, men deres nøjagtige værdier er vilkårlige og uvigtige. Udtrykkene kan bruges til at repræsentere enhver del af en kompliceret system em eller idé, herunder data, variabler, funktioner og kommandoer. Selve ordene har ingen betydning i denne brug og er kun logiske repræsentationer, ligesom bogstaverne x og y bruges i algebra. Foobar bruges ofte alene; foo, bar og baz bruges normalt i den rækkefølge, når der er behov for flere enheder.
Foo har indtastet det engelske sprog som en neologisme og anses af mange for at være det kanoniske eksempel på en metasyntaktisk variabel. [citat behov] Det bruges i vid udstrækning i eksempler på computerprogrammering (undertiden udtrykt som “kun én gang”) og pseudokode. Eric S. Raymond har kaldt det en “vigtig hackerisme” sammen med kludge og cruft. [1]
http://en.wikipedia.org/wiki/Foo
Og fra RFC 3092:
Når det bruges i forbindelse med “bar” spores det generelt til 2. verdenskrigs hærs slang akronym FUBAR (“Fucked Up Beyond All Repair”), senere ændret til foobar. Tidlige versioner af Jargon File [JARGON] fortolket denne ændring som en efterkrigs bowdlerization, men det synes nu mere sandsynligt, at FUBAR selv var et afledt af “foo” måske påvirket af tysk “furchtbar” (frygtelig) – “foobar” kan faktisk har været den oprindelige form.
For det ser ud til, at ordet “foo” selv havde en øjeblikkelig førkrigshistorie i tegneserier og tegneserier. I Warner Brothers-tegneserien fra 1938 instrueret af Robert Clampett, “The Daffy Doc”, holder en meget tidlig version af Daffy Duck et skilt, der siger “SILENCE IS FOO!” …(klip)
http://www.faqs.org/rfcs/rfc3092.html
Kommentarer
- eller du kan bare indrømme, at det kommer fra fubar = ' " f " ud over al anerkendelse '
- @Jonathan Fingland: Nej det gør det ikke ' t. (Faktisk er " foo " sandsynligvis forud for begge " foobar " og " FUBAR ".) Se RFC 3092 og Jargon File-posten for " foo ".
- @Daniel, fremragende reference. Tilføjet
Svar
tl; dr
-
“Foo “og” bar “, da metasyntaktiske variabler blev populariseret af MIT og DEC, de første referencer er i arbejde med LISP og PDP-1 og Project MAC fra 1964 og fremefter.
-
Mange af disse mennesker var i MITs Tech Model Railroad Club, hvor vi finder den første dokumenterede brug af “foo” i tech-kredse i 1959 (og en variant i 1958
-
Både “foo” og “bar” (og endda “baz”) var velkendte i populærkulturen, især fra tegneserier fra Smokey Stover og Pogo, som vil have været læst af mange TMRC-medlemmer.
-
Det forekommer også sandsynligt, at militæret FUBAR har bidraget til deres popularitet.
Anvendelsen af enlig “foo” som et vrøvlord er ret veldokumenteret i populærkulturen i det tidlige 20. århundrede, ligesom militæret FUBAR. (Noget baggrundslæsning: FOLDOC FOLDOC Jargongfil Jargongfil Wikipedia RFC3092 )
OK, så lad os finde nogle referencer.
STOP PRESS! Efter at have sendt dette svar, opdagede jeg denne perfekte artikel om “foo” i fredag den 14. januar 1938 udgave af Tech (“MITs ældste og største avis & den første avis offentliggjort på nettet”), bind LVII. Nr. 57, pris tre cent:
På Foo-ism
The Lounger mener, at denne forretning med Foo-ism har været ført for langt af sine vildledte talsmænd og tager hermed og straks sin holdning mod dets misbrug. Det kan være, at der ikke er nogen foo som en gammel foo, og vi er det, men alligevel er en foo og hans penge noget parti. (Stem fra blegemændene – “Don t be foo-lish!”)
Som en eksplicit, selvfølgelig, “foo!” Har en bestemt og sandsynligvis uerstattelig position på vores sprog, selvom vi frygter at den overdrevne brug, som den i øjeblikket udsættes for, kan meget vel resultere i, at den falder ind i en tidlig (og desværre en mørk) glemsel. Vi siger ak, fordi korrekt brug af ordet kan resultere i sådanne glade hændelser som følgende.
Det var en 8.50 termodynamikforedrag af professor Slater i rum 6-120. Professoren, der havde dækket forsiden af tavlen, satte håndtaget, der betjener løftemekanismen, og vendte sig i mellemtiden til klassen for at fortsætte sin diskussion. Forpladen løftede sig langsomt, majestætisk, og afslørede brættet bag det og skrev stort på symbolerne, der stavede “FOO”!
Tech-avisen , et år tidligere, brevet til redaktøren, september 1937 :
Da toget har nået stationen, er neofytterne så fyldte med historierne om Phi Omicron Omicrons herlighed, normalt kaldet Foo , at de er let bytte.
…
Det er ikke sådan, at jeg har noget imod at have mistet mine første fire sønner til Phi Omicron Omicrons store og universelle broderskab, men det gør jeg ønsker, at min femte søn, min baby, i det mindste skal advares på forhånd.
Forhåbentlig din,
Indigneret mor til fem.
Og The Tech i december 1938 :
Generel tankegang kan fortolkes bedst ud fra bemærkningerne i slutningen af afstemningerne. En stemme sagde, “” Jeg tror ikke, hvad jeg laver, er noget af Pulvers forretning, “mens en anden blot tilføjede et kort” Foo. “
Den første dokumenterede “foo” i tech-kredse er sandsynligvis 1959 “s Ordbog over TMRC-sproget :
FOO: den hellige stavelse (FOO MANI PADME HUM); kun at blive talt, når de er inspireret til at kommunikere med guddommen.Vores første forpligtelse er at holde Foo-tællerne drejende.
Disse forklares i FOLDOC . Ordbogen “s kompilator Pete Samson sagde i 2005:
Brug af dette ord på TMRC går forud for min komme derhen. En foo-tæller kunne simpelthen have tilfældigt blinkende lys , eller kunne være en reel tæller med en uklar indgang.
Og fra 1996 er s Jargon File 4.0.0 :
Tidligere versioner af dette leksikon afledte “baz” som en Stanford-korruption af bar. Imidlertid rapporterer Pete Samson (kompilator af TMRC-leksikonet), at det allerede var aktuelt, da han sluttede sig til TMRC i 1958. Han siger “Det kom fra” Pogo “. Alligatoren Albert råbte eller oprørt,” råbte “Bazz Fazz!” Eller “Rowrbazzle!” Klublayoutet siges at modellere de (mytiske) New England-amter Rowrfolk og Bassex (Rowrbazzle blandet med (Norfolk / Suffolk / Middlesex / Essex). “
Et år før TMRC-ordbogen, 1958 “s MIT Voo Doo Gazette (” Humor suppler af MIT Deans “office”) (PDF) nævner Foocom i “The Laws of Murphy and Finagle” af John Banzhaf (en studerende inden for elektroteknik):
Yderligere forskning under et fælles Foocom- og Anarcom-tilskud udvidede loven til at være altomfattende og universelt anvendelig: Hvis noget kan gå galt, vil det!
Også 1964 ” s MIT Voo Doo (PDF) refererer til TMRC-brugen:
Ja! Jeg ønsker at blive en øjeblikkelig succes og sne kunder. Send mig en grad i: …
Foo Counters
Foo Jung
Men lad os huske dette spørgsmål handler om kodeeksempler, så lad os finde “foo”, “bar” og “foobar” offentliggjort i kode.
Så Jargon File 4.4.7 siger om “foobar”:
Formodentlig oprindeligt formidlet gennem DECsystem manualer af Digital Equipment Corporation (DEC) i 1960erne og begyndelsen af 1970erne; bekræftede observationer der går tilbage til 1972.
Den første offentliggjorte reference, jeg kan finde, er fra februar 1964 , men skrevet i juni 1963, Programmeringssproget LISP: dets drift og applikationer af Information International, Inc. med mange forfattere, men inklusive Timothy P. Hart og Michael Levin:
Eftersom “FOO” er et navn for sig selv, vil “COMITRIN” således behandle både “FOO” og “(FOO)” på nøjagtig samme måde.
Omfatter også andre metasyntaktiske variabler såsom: FOO CROCK GLITCH / POOT TOOR / PÅ DIG / SNAP CRACKLE POP / XYZ
Jeg forventer, at dette er meget det samme som denne næste reference til “foo” fra MITs Project MAC i januar 1964 “s AIM-064, eller LISP-øvelser af Timothy P. Hart og Michael Levin:
bil [((FOO. CROCK). GLITCH)]
Det deler mange andre metasyntaktiske variabler som: CHI / BOSTON NEW YORK / SPINAT BUTTER STEAK / FOO CROCK GLITCH / POOT TOOP / TOOT TOOT / ISTHISATRIVIALEXCERCISE / PLOOP FLOT TOP / SNAP CRACKLE POP / ONE TWO THREE / PLANE SUB THRESHER
For både “foo” og “bar” sammen er den tidligste reference, jeg kunne finde, fra MITs Project MAC i juni 1966 “s AIM-098 eller PDP-6 LISP af ingen ringere end Peter Samson:
EXPLODE, ligesom PRIN1, indsætter skråstreger, så (EXPLODE (QUOTE FOO / BAR)) PRIN1 “s som (FOO // / BAR) eller PRINC “s som (FOO / BAR).
Nogle flere tilbagekaldelser.
@Walter Mitty tilbagekaldt på dette websted i 2008:
Jeg udskifter jargonen fil vedrørende Foo Bar. Jeg kan spore det i det mindste tilbage til 1963 og PDP-1 serienummer 2, som var på anden sal i bygning 26 ved MIT. Foo og Foo Bar blev brugt der, og efter 1964 i PDP-6-værelset ved projekt MAC.
John V. Everett husker i 1996:
Da jeg tiltrådte DEC i 1966, blev foobar allerede almindeligt brugt som kast- væk filnavn. Jeg tror, fubar blev foobar, fordi PDP-6 understøttede seks tegnnavne, selvom jeg altid antog, at udtrykket migrerede til DEC fra MIT. Der var mange MIT-typer på DEC i disse dage, hvoraf nogle havde arbejdet med 7090/7094 CTSS.Da 709x også var en 36 bit maskine, kan foobar muligvis have været brugt som et almindeligt filnavn der.
Foo og bar blev også almindeligt anvendt som filtypenavne. Da dagens tekstredaktører opererede en inputfil og producerede en outputfil, var det almindeligt at redigere fra en .foo-fil til en .bar-fil og tilbage igen.
Det var også almindeligt at Brug foo til at udfylde en buffer, når du redigerer med TECO. Tekststrengen, der nøjagtigt udfyldte en diskblok, var IFOO $ HXA127GA $$. Næsten alle PDP-6/10-programmørerne, jeg arbejdede med, brugte den samme kommandostreng.
Daniel PB Smith i 1998:
Dick Gruen havde en enhed i sin kollegieværelse, den sædvanlige samling af B-batteri, modstande, kondensatorer og NE-2 neonrør, som han kaldte en” foo-tæller. ” Dette ville have været omkring 1964 eller deromkring.
Robert Schuldenfrei i 1996:
Anvendelsen af FOO og BAR som eksempler på variabelnavne går tilbage i det mindste til 1964 og IBM 7070. Også dette kan være ældre, men det var her, jeg først så det. Dette var i Assembler. Hvad ville være FORTRAN-heltalækvivalenten? IFOO og IBAR?
Paul M. Wexelblat i 1992:
Den tidligste PDP-1 Assembler brugte to tegn til symboler (18 bit maskine) programmører efterlod altid et par ord som patch space for at løse problemer. (Hop til patch-plads, lav ny kode, spring tilbage) Det rum blev konventionelt navngivet FU: som stod for Fxxx Up, det sted, hvor du fik Fxxx Ups. Når det blev talt, var det kendt som FU-rum. Senere montører (f.eks. MIDAS tillod tre tegn, så FU blev FOO, og som ALLE PDP-1-programmører vil fortælle dig, at der var FOO-plads.
Bruce B. Reynolds i 1996:
På IBM-siden af FOO (FU) BAR er brugen af BAR-siden som Base Address Register; i midten af 1970erne måtte CICS-programmører bekymre sig om de forskellige xxxBARer … Jeg tror, en af dem var FRACTBAR …
Her” er lige IBM “BAR” fra 1955.
Andre tidlige referencer:
-
1972 FOO MIT AI
-
1973 foo bar International Joint Council on Artificial Intelligence
-
1975 foo bar International Joint Council on Artificial Intelligence
Jeg har ikke været i stand til at finde nogen henvisninger til foo bar som “inverteret foo signal “som foreslået i RFC3092 og andre steder.
Her er nogle af endnu tidligere F00er, men jeg tror, de er tilfældigheder / falske positive:
Svar
ved hjælp af ord som “foo” og “bar” får dig til at fokusere på koncept ikke på hvad du kan forstå ud fra de vilkår, du kender. For eksempel:
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"); } }
Ovenstående kode giver dig mulighed for at falde tilbage på din viden om ting i den virkelige verden.
Hvis du prøver at forklare et koncept, hvor den vigtige del ikke er, hvad der gøres (f.eks. udskrivning af miau eller bark), men hvordan det gøres, skal du fjerne de dele, du kender, ved hjælp:
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 skal du fokusere på, hvad der virkelig sker, du er ikke længere i stand til at gætte på, hvad der skal ske.
Så den korte version er, at foo, bar og lignende bruges til at understrege begreber, hvor indholdet ikke betyder noget, men ideen gør.
Kommentarer
- ah, et rigtigt svar!
- Ja, men hvorfor Foo og Bar specifikt? Hvorfor ikke Lorum og Ipsum?
- da.wikipedia.org/wiki/Foo kunne være nøjagtige …
- @TofuBeer Ja, de ' re " metasyntaktiske variabler ". @masher ser mit svar med masser af referencer til, hvorfor Foo og Bar og ikke Lorem og Ipsum. programmers.stackexchange.com/questions/69788/… Faktisk er der masser af forskellige metasyntaktiske variabler, der har blevet brugt gennem årene og forskellige steder.
Svar
Fra http://en.wikipedia.org/wiki/Foo bar
I teknologi blev ordet sandsynligvis formidlet gennem systemmanualer af Digital Equipment Corporation i 1960erne og begyndelsen af 1970erne . En anden mulighed er, at foobar udviklede sig fra elektronik som et omvendt foo-signal. Dette skyldes, at hvis et digitalt signal er aktivt lavt (så en negativ eller nul-spændingstilstand repræsenterer et “1”), placeres en vandret bjælke almindeligvis over signaletiketten. Jargon File gør en sag, som foo muligvis går forud for FUBAR
Kommentarer
- dette forklarer ikke hvorfor
- I ' har fundet masser af referencer til første " foo " og senere " bar " fra MIT og også DEC (begge i Massachusetts) i deres arbejde med LISP og PDP-1 og Project MAC fra 1964 og fremefter. Det ' er en god idé, men jeg kunne ikke ' ikke finde nogen henvisning til en " inverteret foo-signal ". Mere her: programmers.stackexchange.com/questions/69788/…
Svar
Fra jargongfilerne http://www.catb.org/jargon/html/F/foo.html
foo: / foo /
- interj. Afskrækkelsestid.
- [meget almindelig] Anvendes meget generelt som et eksempelnavn på absolut hvad som helst, specielt programmer og filer (især scratch-filer).
- Først på standardlisten over metasyntaktiske variabler, der bruges i syntakseksempler. Se også bar, baz, qux, quux, garply, waldo, fred, plugh, xyzzy, thud.
bar: / bar /, n.
- [meget almindelig] Den anden metasyntaktiske variabel, efter foo og før baz. ”Antag, at vi har to funktioner: FOO og BAR. FOO kalder BAR …. ”
- Ofte tilføjet foo for at producere foobar.
Svar
I henhold til http://en.wikipedia.org/wiki/Foo :
Udtrykkene “oprindelse kendes ikke med sikkerhed, og der er fremført adskillige anekdotiske teorier for at identificere dem. Foobar kan stamme fra det vulgære militære akronym FUBAR, eller det kan have vundet popularitet på grund af det faktum, at det udtales samme.
Svar
Jeg udskifter jargongfilen vedrørende Foo Bar.
Jeg kan spore det i det mindste tilbage til 1963, og PDP-1 serienummer 2, der var på anden sal i bygning 26. MIT. Foo og Foo Bar blev brugt der, og efter 1964 i PDP-6-rum på projekt MAC.
Kommentarer
- +1 for at være vidne til en af de tidligste anvendelser af Foo Bar 🙂 Hvordan var Foo og Foo Bar faktisk brugt der?
- PS I ' har inkluderet dit tilbud i mit store svar: programmers.stackexchange.com/questions/69788/…
Svar
Så vidt jeg ved, kommer foo fra foobar, som er en ændring af “fubar”, en militær fangstfraase, der står for “ F *** ed u p b eyond a ll r anerkendelse.”
Så igen kan der være andre kilder.
Svar
Foo and Bar (ellers kendt som FUBAR … F *** ed Up Beyond All Recognition) er netop blevet brugt som standard generiske navne til ting som klasser, egenskaber, metodenavne osv.
Grundlæggende er ideen at formidle din kode uden så mange fremmede oplysninger, der muligvis kan komme væk fra, hvordan koden fungerer (dvs. vi behøver ikke at vide, at din funktion hedder AddUser for at se kode og forstå, hvad det gør, hvis vi omdøber det til Foo ()).
Svar
Dette er vrøvl ord, som i de fleste tilfælde kan erstattes med mere relevante eksempelord. Ordene “foo” og “bar” bruges ofte til programmering, når nogen ikke kan tænke på et godt eksempel.
Hvis “foo” og “bar” stammer fra FUBAR, hvorfor bruges de så mange fagfolk i instruktionseksempler, når eksemplerne ikke ligner noget, der er uden op til anerkendelse?
For mig er den almindelige brug af disse ord uhensigtsmæssigt, hvad der er så uforståeligt.
Kommentarer
- Bemærk at lige under spørgsmålet er et banner: Vi ' leder efter lange svar, der giver en vis forklaring og kontekst. Don ' t Giv bare et linjesvar, forklar hvorfor dit svar er rigtigt, ideelt set med citater. Svar, der ikke ' ikke indeholder forklaringer, kan fjernes. Dit svar giver lidt vejen til en forklaring; i øjeblikket er det kun en mening.
- Der er mange andre korte svar. Hvorfor ikke give et argument, hvis du ikke ' ikke er enig med hvad jeg ' siger i stedet for at påpege en tekniskitet, der ikke ' gælder ikke?
- redigering i rev 2 gjorde dette svar endnu værre end det var før (selvom det var svært at forestille sig, hvad der kunne være værre): nu er det er bare en gentagelse et andet svar , der er sendt 4 år siden