symbolicAGI 20 hours ago

MIT AI Lab back in the 1960s published technical reports containing program code.

The military slang 'FUBAR' f'ed up beyond all recognition, was in the student and professor engineering vocabulary. The tradition became to use 'fu' and 'bar' as nominal function names, in same manner as X and Y were nominal variables.

Often in the MIT technical reports, one would see 'x = fu(y)' or 'y > bar(z)' and so forth. If you knew, you knew.

A few years later, perhaps with the welcome progress of more female faculty and students, textbooks changed the spelling, but not the pronunciation of the vulgar acronym 'fu' to 'foo'. Again, if you knew, you knew.

And now you all know.

  • cancerhacker 9 minutes ago

    My current chemo regime is FOLFIRI, one of the components of Which is Fluorouracil, and frequently written as “5-FU” and it’s a bugger.

  • pton_xd 12 minutes ago

    I've always heard fubar originated as a backronym for the mispronounced German word "furchtbar," which means terrible but could be sort of interpreted as meaning "f'ed up." Fubar originated during WWII so it seems plausible atleast.

  • WalterBright 17 hours ago

    On a related note, we all know the story from WW2 where Bastogne was surrounded by the Wehrmacht, and the Wehrmacht sent a note to General McAuliffe suggesting he surrender. He returned with a note that simply said "nuts".

    I simply did not believe than an American GI ever said "nuts". So, I asked my dad (WW2 veteran). He said he briefly worked for the General, and asked him what he actually wrote. The General laughed, and replied "what do you think I wrote?"

    F-U

    The Stars&Stripes journalists changed it to "nuts" thinking the Americans couldn't handle the profanity.

    • stackghost 13 hours ago

      I doubt this story very much. It's well documented that McAuliffe rarely used profanity, and it's similarly well documented, including by the US Army official historian, that the official reply was indeed "nuts".

      https://history.stackexchange.com/questions/40063/what-did-g...

      • WalterBright 12 hours ago

        People who rarely use profanity means they do use it, and when they do, they do it for effect. Certainly, a demand that he surrender Bastogne would justify profanity in a forceful response.

        > including by the US Army official historian

        An official US Army historian's job is to make the US Army look good.

        As we are all painfully aware these days, the accounts of newspapers are rarely accurate, and often outright fabrications. Why would WW2 accounts be any different?

        I doubt McAuliffe would want to besmirch his record after the war, had nothing to gain by contraindicating it, and would be content to let it stand.

        My father was a carefully honest man, and was never known by me to lie. He held his tongue until after McAuliffe passed away. He also told me some family secrets after all involved had passed, and asked me to keep them to myself until after he died, which I did.

        It never occurred to me to ask him to write down that story, and now it's too late.

        I know my evidence is hearsay and inadmissible in court. You're free to draw your own conclusions.

        P.S. I was once personally involved in an incident that made the local TV news. There was nothing political about it, but each of the three local news channels got essentially all the basic facts about it wrong. But that is the "record" of the event. It pretty much soured me on the veracity of news reports.

        • stackghost 11 hours ago

          Well Walter, ask yourself why Kinnard, who was in the room at the time and Harper, who delivered the message, and Premetz, the non-commissioned medic who translated it for the Germans, all give repeated official accounts and interviews that contradict the account of your father, who by your own admission merely "worked for the general briefly".

          Is it all a grand conspiracy to protect the good name and reputation of McAuliffe?

          I'll say no more.

          • WalterBright 11 hours ago

            My father had a first hand account from McAuliffe, like the other three, and had no reason whatsoever to misrepresent it.

            > Is it all a grand conspiracy to protect the good name and reputation of McAuliffe?

            A small conspiracy is not at all far-fetched. First off, it's an inconsequential thing. Secondly, if one of the three told the truth, then he'd be called a liar by the other two. Who needs that? If you're in the military, you don't get ahead by contradicting the narrative. (My dad found that out the hard way - he was punished more than once for not writing reports that fit the narrative.)

            For a grand conspiracy, consider how long Biden's staff held out insisting that Biden was sharp as a tack and writing off contrary reports as disinformation.

            The most compelling bit about my evidence is the frankly laughable idea that a GI would use the word "nuts".

            • WalterBright 11 hours ago

              P.S. I understand you have no particular reason to believe me, and if I were in your shoes I wouldn't, either.

              If there is any takeaway here, it would be that historical accounts are always suspect. History is written by the victors, as they say.

      • __MatrixMan__ 3 hours ago

        Whether or not it's true, I think it's a pretty good story because it aligns BAR with "Beyond All Recognition", which is exactly the point of a metasyntactic variable: to be so separate that that context is unrecognizable.

        Obfuscating the context is what F's it Up. Usually that's a problematic thing, but in the case of foo and bar, the F'ed Up version is maybe better.

  • fuzzfactor an hour ago

    Also legendary is the traditional GIGO which in some programming examples the FU is the garbage in and the BAR is the garbage out.

  • mncharity 12 hours ago

    > Often in the MIT technical reports, one would see 'x = fu(y)' or 'y > bar(z)'

    Hmm, "fu"? The decades confound my memory, but I don't immediately recall seeing a "fu" there? Before the "foo" of AIM-127a[1] in 1967 and MIT-LCS-TR-032[2] in 1966, there's still a decade of AI Memos, and couple of years of TRs. DSpace finds at least some "fu"s... lots of ocr fragments. The AITR-220 '64 hit is ocr fragment. My search-fu tonight wasn't up to being exhaustive (spot checks were all fragments). And also, OCR could be missing older "fu"s. But I didn't quickly find a real "fu".

    A foo-bar-baz-quux in MIT-LCS-TR-365[3] in 1986.

    One can start on the CSAIL collections page[4] and explore.

    [1] "FOO" in abstract of AIM-127a LISP Linkage Feature: Incorporating MIDAS into PDP-6 LISP https://dspace.mit.edu/handle/1721.1/6136 [2] "Thus if FOO has the definition (LAMBDA (X Y) [alpha]), and the user calls SYSTEM1 with NAME= FOO, ADVICE= [beta], WHERE= BEFORE" on page 43 of MIT-LCS-TR-032 Pilot: A Step Towards Man-Computer Symbiosis https://dspace.mit.edu/handle/1721.1/149354 [3] "if the back trace is: FOO [1] <- BAR (2] <- BAZ [3] <- QUUX [4]" on page 20 of ID World: An Environment for the Development of a Dataflow Programs Written in ID MIT-LCS-TR-365 https://dspace.mit.edu/handle/1721.1/149633 [4] https://dspace.mit.edu/handle/1721.1/5458

  • Teknomancer 43 minutes ago

    FOOcked-up Beyond All Recognition.

  • stackghost 19 hours ago

    Why would women in particular object to "fu" and not "foo"?

    • bee_rider 17 hours ago

      I think it is actually a little funny, nowadays of course the assumption that we particularly should be less profane around women would be seen as old fashioned and kind of a bit sexist. But I guess at the time swearing less was probably seen as a way to make women less uncomfortable. And I’m sure in some cases it did help.

      An interesting example of the quirks we carry along with us, and the fact that the combination of behavior, intention, and interpretation can mix oddly.

      • patrick451 16 hours ago

        I limit swearing in mixed company and I'm not even that old.

        • bee_rider 16 hours ago

          I limit swearing among people I don’t know very well of either gender. Among my friends, I haven’t noticed any difference in who is bothered by it.

          • Loughla 16 hours ago

            I only limit swearing in professional environments; meetings to be honest.

            Everywhere else gets the shit and hell and damn that I use in regular language. No slurs and no sexual words like Fuck. But that's just good manners.

            Curse words are like salt and pepper for the language. They're not necessary, but often add just the right amount of extra spice.

            • bee_rider 16 hours ago

              Oh, that’s an interesting thought, good point. I agree on the idea that slurs and sex-based stuff should be avoided (crassness should be fun for everyone, not exclusionary). I hadn’t put fuck in that bucket really, but of course it does have some sexual definitions.

    • symbolicAGI 19 hours ago

      Back in the 1960s United States, women were often perceived as more sensitive to public profanity, compared to men of the same age.

    • __MatrixMan__ 19 hours ago

      In the 60's the belief was that they could not tolerate profanity. Or maybe it was that they'd tattle on the rest of us.

      • johnyzee 18 hours ago

        There was a concept of treating women with respect.

        • smcin 16 hours ago

          That's a non-sequitur. There are plenty of other words that start with 'fu-'. It's also a loanword from Chinese.

          And even if not, I haven't heard anyone describe the coinage 'fupa' as offensive.

          • smcin 13 hours ago

            To the downvoters: I said I don't find merit in the suggestion that using 'fu' (or 'foo' as a function name) would be considered to constitute profanity. When learning programming, I simply learned 'foo, 'bar' and 'baz' as silly-sounding example function names. I didn't make any connection from 'foo' in the CS context to 'fubar' in US military slang till over a decade later.

            (Neglecting that there weren't many women in CS in the 1960s. I don't even see that the word-fragment would have been considered offensive in civilian context, esp. to non-US speakers of English)

      • dragonwriter 16 hours ago

        In the 60s, women were generally infantilized, but I suspect the “it was done for the women” explanation for the drift of “fu” to the already-existing term “foo” once separate from the other part of “fubar” is a just-so story, rather than a historical fact.

    • riiii 16 hours ago

      Because fu.

    • jckahn 19 hours ago

      Is it not clear what “f” and “u” is short for?

      • stackghost 19 hours ago

        Of course it is. What's not clear is what that has to do with women.

        • jckahn 19 hours ago

          I imagine that, due to the societal expectations historically placed on women, they’ve typically had to be “the adult in the room.” Contrast this with men historically being able to get away with acting childishly (or worse). So when terminology used in the workplace is particularly vulgar, it would follow that women would take more issue with it than men.

          • mmooss 2 hours ago

            > societal expectations historically placed on women, they’ve typically had to be “the adult in the room.”

            I think it was the opposite; they were infantilzed and sensitive, considered liable to faint or have a bout of hysteria. They were to be protected. Swearing might upset a woman.

            Men had final authority over them in many cases. For example, often women couldn't get jobs without their husband's permission.

            Women were sometimes the source of a sensitive, compassionate, nurting viewpoint, a balance to the man's roughness. She might appeal to him, but it was his decision.

          • the_gorilla 19 hours ago

            > due to the societal expectations historically placed on women

            This reads like aliens trying (and failing) to figure out why women act more like women than men do.

            • jckahn 19 hours ago

              Can you elaborate on that? My goal was to be as clear as possible and leave minimal room for misinterpretation.

          • b59831 18 hours ago

            This is a sexist statement

            • kortilla 17 hours ago

              It’s a discussion about a sexist environment. Catch up

            • danaris 18 hours ago

              Describing the factual sexist environment that existed in a prior time (or, hell, the ones that exist today) is not itself sexist.

              • cgriswald 17 hours ago

                It’s a fact the environment was sexist.

                Everything else is speculation unless their is some evidence that women’s complaints were the driving factor of a change in policy rather than, say, the infantilization of women or a sexist expectation that women would take exception to it.

        • carlosjobim 16 hours ago

          People had different values than you do in the past. They also have different values right now.

    • TacticalCoder 16 hours ago

      > Why would women in particular object to "fu" and not "foo"?

      Honestly I don't know pussy.

    • greenthrow 17 hours ago

      That part of the comment is not true.

    • the_gipsy 18 hours ago

      Because they are subject both to sexual harassment and to higher expectations, including "professionalism" (not using profanity at the workplace in this specific case).

      • b59831 18 hours ago

        This isn't an answer to the question.

        Smug responses like this just means you don't actually have a point.

        • the_gipsy 6 hours ago

          How does it not answer the question "why would women avoid fu over foo"? I thought it was clear that "fu" means "fuck up" or even "fuck you", a sexual swear word, while "foo" means nothing at all.

  • yreg 5 hours ago

    For people, who (like me) don't know US military slang, FUBAR apparently means 'Fucked/Fouled Up Beyond All/Any Repair/Recognition/Reason' according to Wikipedia.

  • reaperducer 18 hours ago

    A few years later, perhaps with the welcome progress of more female faculty and students, textbooks changed the spelling, but not the pronunciation of the vulgar acronym 'fu' to 'foo'.

    I was always told that fu became foo because it lined up nicely on screens and on paper, making the code easier to scan.

      foo = 1
      bar = 2
    
    looks better than

      fu = 1
      bar = 2
SeanLuke 14 minutes ago

The top response is wrong. So of course it was locked and made impossible to downgrade or correct. If this isn't a canonical Stack Overflow example I don't know what is.

fsckboy 20 hours ago

I don't know the story of the entry of foo into the computer science lexicon, but it is the case that the early days of computers were populated with a fair number of military veterans because early computers were mostly used in military applications so that produced people with computer experience (not to mention the compulsory draft which meant that a large number of people would have military experience anyway).

FUBAR ("fucked up beyond all recognition") was supposedly a military slang phrase.

And the popular comic strip Smoky Stover starting in the 1930's used the word "Foo" wrt a firefighting character perhaps giving that spelling more currency.

this is the Foomobile from that comic https://duckduckgo.com/?t=ffab&q=Foomobile&iax=images&ia=ima...

  • ahazred8ta 20 hours ago

    The missing link is 'FURCHTBAR'.

    Smokey Stover started the meme of substituting 'foo' into words. 1930s german language classes turned furchtbar (frightful) into 'foo-bar'. The US military acronymized it into FUBAR. Apparently MIT adopted fu() and bar() as algebra placeholders.

    I'm partial to the 1938 song WHAT THIS COUNTRY NEEDS IS FOO - https://m.youtube.com/watch?v=W2pljKyCgwc

  • chiph 3 hours ago

    No "supposedly" about it. FUBAR is still in common use. As is RHIP (Rank Hath Its Privileges) and BOHICA (Bend Over Here It Comes Again)

douglee650 19 hours ago

It blows me away that "The Jargon File" is not required canon. Well, it can be anachronistic and old-school-nerd-bro coded, but there's some primal stuff in there

http://catb.org/jargon/html/

  • xorcist 2 hours ago

    There was this thing called the Jargon File. Then it was taken over by a rogue person who removed some things which didn't fit his personal liking and put in some other things. There was a lot of drama, but the end result was a skewed file that emphasized certain parts of hacker culture over others.

    It might be good to know that you linked to the version which one person had outsized influence of, and should probably not be used to write history from. Except history on early Internet drama, perhaps.

  • Uehreka 16 hours ago

    I think it feels dated because it’s from a time when there were far fewer hackers. It’s way easier to make sweeping generalizations (“hackers like X and don’t like Y”, “hackers have a Z-ish sense of humor”) about a small group and have it actually be true.

    These days it seems weird, even mildly culty, to make definitive and specific statements about “what hackers are like”. There are millions of us all over the world. Many of us barely have a spoken language in common, let alone share a sense of humor or cultural values.

  • dfox 16 hours ago

    The real jargon file is probably here: https://www.dourish.com/goodies/jargon.html

    And it includes an explanation of what is wrong with ESR's version. But well, lets reiterate that: ESR is this weird kind of quasi-libertarian ego-maniac who occasionally produces something marginally useful and then oversells how that thing is part of the critical internet infrastructure or something like that.

  • jollyllama 16 hours ago

    At some point the lines crossed between people whose first exposure was the old "FUBAR" and those whose first exposure was the tech "foo/bar/baz".

    I wonder when it was.

    • marssaxman 14 hours ago

      I imagine that many of us who got into programming through the 1980s home computer boom encountered the terms "foo" and "bar" before we were old enough that adults would have felt comfortable using "FUBAR" around us.

  • FooBarBizBazz 18 hours ago

    > old-school-nerd-bro

    I'm trying to maintain that the nerds of yore and the bros* who invaded in the 2010s are different groups -- in which case "old-school nerd bro" would be a contradiction in terms -- but alas "bro" has simply come to mean "male", and, to the English majors writing the newspaper articles, "they all look the same". So maybe I need to give up.

    * etymology: "tech bro", in analogy with "finance bro", which originated because fraternity brothers from top schools used to go into finance, but then migrated into Tech around '08. Associated stereotypically with developed pectorals and polo shirts with popped collars. Close to the "Chad" archetype, but with some light granola/yoga overtones.

    • IggleSniggle 17 hours ago

      I've been the same way but I think it's time to give up; the language has moved on, and it's only a very specific age bracket that recognizes the distinction. Graybeard means something different now too. It's okay though. It's not important and doesn't need to be maintained; it was just another form of gate-keeping...

      the early "nerd-bro" practically required the distinction as a form of identity reclamation in a culture that disparaged their puny interests in computing. We should celebrate that that particular shield is no longer needed, and thus that gatekeeping is no longer needed for ego-survival, either.

    • bee_rider 12 hours ago

      You are correct. Don’t give up!

  • fragmede 18 hours ago

    maybe it's time for an update

lysace 19 hours ago

For some reason, in Sweden, the word "gazonk" is common after "foo" and "bar". I've never been been able to figure out why.

Here's a variant:

https://developer.arm.com/documentation/dui0493/i/CHDFAGEE

> foo\bar\baz\gazonk\quux\bop

Some Erlang reference:

https://erlang.org/pipermail/erlang-questions/2009-January/0...

> 43> lists:keysearch(foo, 1, [3.14, {foo,bar} | gazonk]). > {value,{foo,bar}}

The GNU Emacs manual:

https://www.gnu.org/software/emacs/manual/html_node/emacs/Li...

> (setq foo '(bar zot > gazonk))

https://www.epicroadtrips.us/2003/summer/nola/nola_offsite/F...:

> Gazonk is often used as an alternative for baz or as a fourth metasyntactic variable. Some early versions of the popular editor Emacs used gazonk.foo as a default filename.

  • thaumasiotes 18 hours ago

    > For some reason, in Sweden, the word "gazonk" is common after "foo" and "bar".

    That doesn't look like it's a potentially Swedish word.

    It does resemble an English one: https://en.wiktionary.org/wiki/gazongas

    (For whatever reason, wiktionary insists on defining "gazongas" only as "the plural form of 'gazonga'", but the word "gazonga" cannot be used at all; much as with "scissors" or "pants", only the plural form exists.)

    • cool_dude85 16 hours ago

      I don't agree with the thing about the singular "gazonga". Just like if you were to say a boob or a tit, I think a gazonga would be understood by anyone.

      • thaumasiotes 14 hours ago

        What can be understood is a separate question from what it's possible to say. Here's a common type of utterance from a foreign student of English:

        *Where you heard this?

        There's no risk of being misunderstood, but that doesn't mean it's possible to phrase a question in English this way.

        What would you understand if someone asked you for "the scissor"?

DesiLurker 10 minutes ago

I though fubar was short for fu*ked up beyond all recognition. that'd have turned into foo-bar.

gU9x3u8XmQNG 18 hours ago

I have always felt that the foo/bar demo/example snippets have held me back in comprehending code, because there was no reasonable logic to it. It just means nothing to me, other than the FUBAR reference others have mentioned.

I personally, and professionally, think it’s a horrible convention.

  • marssaxman 14 hours ago

    It's supposed to mean nothing; that's the point. You use "foo" and "bar" (and "baz" and "qux", etc) when the names of the things in your example do not matter. It's the same way you'd see examples featuring "x", "y", and "z" when learning algebra: maybe your textbook also has story problems, but most of the examples will simply show an equation in terms of x, y, and maybe z, without pretending that those abstractions refer to anything concrete.

  • callc 14 hours ago

    I understand your perspective, and have felt similarly at times. OTOH I appreciate having some culture and some fun things in our field and teaching materials that would otherwise be pushed out by being 100% reasonable and logical all the time.

  • LouisSayers 15 hours ago

    I agree, to me it's always looked like baby speak.

    Reading about "FUBAR" makes it even worse.

dang 19 hours ago

Surprisingly little. Others?

Foo Bar came from model trains at MIT - https://news.ycombinator.com/item?id=41069963 - July 2024 (2 comments)

The Origin of Foo and Bar - https://news.ycombinator.com/item?id=14030938 - April 2017 (1 comment)

Kind of related but not really:

foo@bar.com - https://news.ycombinator.com/item?id=24605949 - Sept 2020 (281 comments)

The Foo at bar.com - https://news.ycombinator.com/item?id=10108287 - Aug 2015 (29 comments)

foo@bar.com is a real email address - https://news.ycombinator.com/item?id=3263021 - Nov 2011 (91 comments)

helph67 21 hours ago

"In World War One “Foo was here” was scrawled across camps occupied by the Australian Expeditionary Force. Generally assumed to have come from the acronym for Forward Observation Officer, veterans of that war may have brought the tradition with them into the next global conflict over two decades later" https://taskandpurpose.com/history/the-story-of-kilroy-and-w...

electricant 2 hours ago

The reference to the Monty Python spam sketch is gold :D

jph 21 hours ago

In addition to the military-programming history of "foo", there's also a military-programming history for the variable naming convention of "alfa", "bravo", "charlie", "delta", etc.

The naming convention is known as the NATO phonetic alphabet: https://en.wikipedia.org/wiki/NATO_phonetic_alphabet

  • zabzonk 20 hours ago

    > "alfa", "bravo", "Charlie", "delta"

    Bit offtopic: As well as general use, a lot of thesed are used to classify Soviet/Russien submarines from a NATO point of use.

    Even more off topic:This is quite interesting (to me at last) in that NATO has used prefix schemes for bombers, fighters etc. (for example Bear (bomber), Fishbed (fighter)) rather than their makers names. As far as I know, in WW2 the Germans always referred to RAF fighters by their RAF names.

  • wlindley 19 hours ago

    In the 1940s, the Army used a phonetic alphabet starting Able, Baker, Charlie. My late father was on the first two postwar atomic bomb tests (the first after Trinity, and at Hiroshima, Nagasaki) which were Able and Baker.

    Able was an air burst over Bikini (thus the name of the swimsuit).

    Baker, the water burst, was the world's first atomic disaster; as a result of Baker, the third scheduled test Charlie was cancelled. My father died years later of colon cancer, perhaps not unrelated to contaminated air and water at the Eniwetok base afterwards.

    FUBAR indeed.

    • somat 18 hours ago

      The change from able... to alpha... was a NATO thing. some European countries don't use the "a" in "able", so it was changed to the "a" in "alpha"

      • dfox 16 hours ago

        Also there is a way to pronounce all of the NATO alphabet words that is not exactly a normal english pronounciation in order to make the first letter obvious and to reduce the possibility of mistranscription (the most obvious example is “nineR”). Sadly this does not really work in Czech, as laypeople will very often interpret “keˈbɛk” as K. (So the takeaway there is to not use NATO phonetic alphabet when you are dictating the pickup code to the package pickup point clerk)

  • Cheer2171 20 hours ago

    NATO phonetic alphabet is used in all areas where you have to say letters over voice.

    One character variable names for temp or iterator values are everywhere in programming. But I've never ever encountered one spelled out as a full transcriptions of the NATO phonetic alphabet like alfa, bravo, charlie. Exception is alpha for probability/statistics.

    • mindcrime 19 hours ago

      > NATO phonetic alphabet is used in all areas where you have to say letters over voice.

      Not all. Military definitely favors NATO, but there are other phonetic alphabets in use. In particular, at least in the US, fire/ems personnel (and sometimes also law enforcement) use alternatives. The one that goes Adam, Boy (or Baker), Charlie, David, Edward, Frank, ... is still widely used.

      I've also known agencies to use a mix, like Adam, Baker, Charlie, Delta, ... (a law enforcement agency that I dispatched for back in the 1990's used this version).

      Source: was a firefighter and 911 dispatcher in a previous life and still spend a lot of time monitoring fire/ems channels locally just to stay connected to that world.

      • dfox 16 hours ago

        Law enforcement/EMS often have their own phonetic alphabets and it is not that uncommon to use two at once: one for call signs and second for the actual alphanumeric data (in theory, in practice it gets mixed up, but everybody still understands the meaning)

    • g4zj 19 hours ago

      Some of them could potentially be a little confusing as well, such as "delta" in game development, "echo" in some networking contexts, or "uniform" in OpenGL shaders.

      I don't tend to use single-letter variable names outside of the standard `for(;;)` syntax, but if I did, I don't think I'd replace them in this way.

wiihack 8 hours ago

I remember when I started coding in java many years ago. Everywhere I saw foo classes and I had absolutely no idea what they mean :)

wodenokoto 15 hours ago

So I guess it is lost to history, but how did a military cynicism sneak into programming? And judging from the origin stories posted it came from failed military campaigns and then was somehow spread to the broader programming community through MIT.

There’s a few steps there missing.

But on the other hand, a lot of posters in TFA writes “if you knew you knew”, and maybe most people who spread this didn’t know. I mean, I’ve used it without a second thought plenty of times just because.

It might be as simple as an ex military professor writing it and students picking it up as “this is how we talk” with basically no one knowing what they are talking about.

mikewarot 19 hours ago

No zot? I don't remember where I picked them up. But it was always fubar and zot.

baggy_trough 20 hours ago

No love for quxx?

  • mkl 19 hours ago

    Scroll down. It's more commonly qux or quux.

  • howard941 19 hours ago

    Nope. Not even for xyxzzy

    • donkeyboy 4 hours ago

      Looks like xyzzy and plugh originated as a magic word in the computer game Colossal Cave Adventure

golol 18 hours ago

foobar should die out. myvariable, mystring, myfunction etc. are better in every way.

  • smolder 8 hours ago

    Prefixing things with My is so Windows 95... In place of foo and bar I prefer to go with stuff like one() two() three(), or a() b() c(), timeless classics that need no explanation.

    • golol 3 hours ago

      The point is that tyoe is an EXTREMELY vaulable information and if you are explaining code to someone it is very helpful to clearly see what are keywords, what are arbitrary variable names, and what are the types of the variables. For example if you show me a programming language where there is a list object and you write list.one(), I don't know if list is a variable or a keyword, and I don't know if one is a variable or a keyword. Much better to write mylist.one() if one is a default function, or mylist.myfirstelement() otherwise etc.

      I mean everyone knows using descriptive variable names is good practice, but then in a coding tutorial it is somehow fine to use foo, bar, a, b, c? That makes things clearer for someone who understands all the types and the syntax, and wants to see the structure algorithm more clearly. It hurts someone trying to learn the language.

      • smolder an hour ago

        Your argument does make sense for teaching an intro to programming type class, where it may not be obvious what is a function name versus variable name. That just hasn't been my audience for a very long time now when explaining anything. I'd likely also go with var1 var2, fn1 fn2 type names if needing non-descriptive placeholders in that case. I mainly avoid foo and bar because to me it's a tired meme, and people tend to understand "variable names and function names can be anything" well before they ask "why does everyone insist on using foo, bar and baz all the time?" which is just extraneous lore. In my case, I was writing QBasic games many years before I encountered my first foo or bar.

  • creativenolo 18 hours ago

    Is it not foo() and bar()? MyVariable and… ?

Max_Ehrlich 20 hours ago

I understand that these variables have a rich and long history, but if you have ever heard a professor or anybody else say "foo" in lecture you will understand why I detest them.

They have absolutely no connection to the matter at hand. Since foo is often used before bar, you would think there is an ordering between the two but there doesn't have to be. They are hard to pronounce and easier to confuse.

Whenever I give an example I use variable names that actually make sense and are related to the example. I'm glad that I have been fortunate to not see "foo" and "bar" anywhere in all of the code I've seen in recent memory.

  • maccard 20 hours ago

    > They have absolutely no connection to the matter at hand. Since foo is often used before bar, you would think there is an ordering between the two but there doesn't have to be. They are hard to pronounce and easier to confuse.

    I couldn’t disagree more. The entire point is that the variables are disconnected from the matter at hand. They’re widely recognised as placeholders, single syllable, distinctly pronounced from each other, and have an implied ordering.

    • hedvig23 19 hours ago

      I would agree with the comment you're responding to, too often in tutorials or especially in off hand comments here, I find their usage to assume some common but unindicated convention or subtext and obscure the concept they're trying to convey.

      • jiggawatts 19 hours ago

        They’re the programmer equivalent of ‘x’ and ‘y’ in mathematics — which programmers don’t use as generic variables because they’re used for “math” embedded in code such as coordinates or measurements.

    • thaumasiotes 18 hours ago

      > distinctly pronounced from each other

      This isn't so much of an advantage for "bar" and "baz". Those sound pretty distinct to Americans, now, but "r" -> "z" is a known type of sound change, which implies that for some people they'll sound the same. "R" -> "s" is attested in Latin, presumably because "z" wasn't an option. (Latin fricatives don't have voicing distinctions.)

      For an only slightly different current example, the second consonants in "virile" and "vision" are perceived as distinct in American English, but identical in Mandarin Chinese, which is why the sound is spelled as "r" in Hanyu Pinyin and as "j" in Wade-Giles.

  • urbandw311er 20 hours ago

    > they are hard to pronounce

    I’d find it hard to think of two words easier to pronounce— what do you mean by this?

    • rmbyrro 20 hours ago

      Proof that for any little thing that existed, exists, or could ever exist in this universe, there will be a non-zero list of human beings unhappy with it. Until the end of humanity, at least...

      • jiggawatts 19 hours ago

        I am unhappy with your characterisation of my natural human trait of having a preponderance for unhappiness with all possible outcomes.

        • rmbyrro 4 hours ago

          Proof that the statement is an axiom. And the fact that it's an axiom also falls under the axiomatic principle of guaranteed human unhappiness.

  • douglee650 19 hours ago

    It's like business schools using "widget" for the product and "Acme" for the company — they are dealing in concepts, not absolutes

  • Brian_K_White 20 hours ago

    The very reason you say something like foo is to avoid using any specific example that might actually mean something and confuse the listener into thinking it matters and focussing on some irrelevant detail instead of the actual concept being illustrated.

    You detest that someone says "thing" instead of "house" or something?

    "...so you take a thing-"

    "what thing?"

    "It doesn't matter. It might be anything. So you-"

    "A car?"

    Come on man.

  • thiht 19 hours ago

    When I started to learn programming (by myself), I had a really hard time understanding what foo and bar were and what they meant in various tutorials and blogs. I was already trying to learn the syntax and programming concepts, throwing some unknowns words in the mix did NOT help. For some time I thought foo had special meaning in PHP, or that it meant something in English (not my first language, and I was much less proficient in English at ~14 than I am today).

    Using foo bar baz qux is lazy when you can easily find countless examples.

    • Dylan16807 15 hours ago

      If they used 'thing' and 'stuff' would you be happier? A B C? What would you suggest as a generic variable name?

      > Using foo bar baz qux is lazy when you can easily find countless examples.

      Countless examples of what?