Content deleted Content added
added Category:Computing terminology using HotCat |
m lc per MOS:EXPABBR Tags: Visual edit Mobile edit Mobile web edit Advanced mobile edit |
||
(23 intermediate revisions by 18 users not shown) | |||
Line 2:
{{Distinguish|FUBAR|foobar2000|FUBAR (TV series)}}
{{Redirect|Foo|other uses|Foo (disambiguation)}}
[[File:TC-dbl.PNG|thumb|231x231px|Foobar being used to show [[transclusion]]]]
{{Use dmy dates|date=February 2020|cs1-dates=y}}
The terms '''foobar''' ({{IPAc-en|ˈ|f|uː|b|ɑr}}), '''foo''', '''bar''', '''baz, qux, quux''',<ref>{{Cite web |editor-last=[[Eric S. Raymond]] |title=The on-line hacker Jargon File, version 4.4.8. metasyntactic variable |url=http://www.catb.org/jargon/html/M/metasyntactic-variable.html |access-date=2024-05-30 |website=[[Jargon File]]}}</ref> and others are used as [[metasyntactic variable]]s and [[placeholder name]]s in [[computer programming]] or computer-related documentation.<ref name="rfc3092">{{IETF RFC|3092}} - Etymology of "Foo"</ref> They have been used to name entities such as [[Variable (computer science)|variable]]s, [[Function (computer science)|functions]], and [[command (computing)|command]]s whose exact identity is unimportant and serve only to demonstrate a concept.
The style guide for [[Google]] developer documentation recommends against using them as example project names because they are unclear and can cause confusion.<ref name="Google">{{cite web |title=Example domains and names {{!}} Google developer documentation style guide |url=https://developers.google.com/style/examples#example-project-names |website=Google for Developers |access-date=26 June 2023 |language=en |date=2023-06-23 |quote=Ensure that the name is applicable to the user's environment. Don't use unclear terms like foo, bar, and baz.}}</ref>
== History and etymology ==
It is possible that ''foobar'' is a playful [[allusion]]
According to
The first known use of the terms in print in a programming context appears in a 1965 edition of MIT's ''[[Tech Engineering News]]''.<ref>{{cite book|url=https://books.google.com/books?id=aOQRAQAAMAAJ&q=foobar|title=Tech Engineering News|volume=47|year=1965|publisher=[[Massachusetts Institute of Technology]]|page=63|quote=Further, it is possible to search for an effective address; e.g., if an instruction such as "add 1 foo" were used, specifying indirect addressing thru location "foo", and location "foo" contained the address of location "foobar", then an effective word search for "foobar" would find location "foo" and the location containing the "add" instruction as well.}}</ref> The use of ''foo'' in a programming context is generally credited to the [[Tech Model Railroad Club]] (TMRC) of [[Massachusetts Institute of Technology|MIT]] from {{circa|1960}}.<ref name="rfc3092" /> In the complex model system, there were [[scram]] switches located at numerous places around the room that could be thrown if something undesirable was about to occur, such as a train moving at full power towards an obstruction. Another feature of the system was a digital clock on the dispatch board. When someone hit a scram switch, the clock stopped and the display was replaced with the word "FOO"; at TMRC the scram switches are, therefore, called "Foo switches". Because of this, an entry in the 1959 ''Dictionary of the TMRC Language'' went something like this: "FOO: The first syllable of the misquoted sacred chant phrase '[[Om mani padme hum|foo mane padme hum]].' Our first obligation is to keep the foo counters turning."<ref>{{cite web|url=https://www.computer-dictionary-online.org/definitions-f/foo.html|title=Computer Dictionary Online}}, computer-dictionary-online.org</ref> One book{{which|date=November 2010}} describing the MIT train room describes two buttons by the door labeled "foo" and "bar". These were general-purpose buttons and were often repurposed for whatever fun idea the MIT hackers had at the time, hence the adoption of foo and bar as general-purpose variable names. An entry in the ''Abridged Dictionary of the TMRC Language'' states:<ref>{{cite web|url=http://tmrc.mit.edu/dictionary.html#FOO|title=Abridged Dictionary of the TMRC Language|publisher=Tech Model Railroad Club of [[MIT]]|access-date=2013-03-12|archive-url=https://web.archive.org/web/20180102215225/http://tmrc.mit.edu/dictionary.html#FOO|archive-date=2 January 2018|url-status=dead}}</ref>
Line 19 ⟶ 20:
==Examples in culture==
* [[Foo Camp]] is an annual [[hacker convention]].
* [[BarCamp]], an international network of user-generated conferences.
* During the ''[[United States v. Microsoft Corp. (2001)|United States v. Microsoft Corp.]]'' trial,
| url=https://www.cnet.com/news/microsoft-ploy-to-block-sun-exposed/
| title=Microsoft ploy to block Sun exposed
Line 43 ⟶ 44:
{{Reflist|refs=
<ref name="Intel_1978_MSC86-OI">{{cite book |title=MCS-86 Assembler Operating Instructions For ISIS-II Users |id=Manual Order No. 9800641A |date=1978 |edition=A32/379/10K/CP |publisher=[[Intel Corporation]] |location=Santa Clara, California, USA |url=https://archive.org/details/bitsavers_intelISISIblerOperatingInstructionsforISISIIUsersM_3593319/ |access-date=2020-02-29}} [https://archive.org/stream/bitsavers_intelISISIblerOperatingInstructionsforISISIIUsersM_3593319/9800641A_MCS-86_Assembler_Operating_Instructions_for_ISIS-II_Users_Mar79_djvu.txt][https://archive.org/download/bitsavers_intelISISIblerOperatingInstructionsforISISIIUsersM_3593319/9800641A_MCS-86_Assembler_Operating_Instructions_for_ISIS-II_Users_Mar79.pdf]</ref>
}}
|