Apa arti 'foo' sebenarnya?

232

Saya harap ini memenuhi syarat sebagai pertanyaan pemrograman, seperti dalam setiap tutorial pemrograman, Anda akhirnya menemukan 'foo' dalam contoh kode. (ya benar?)

apa arti 'foo' sebenarnya?

Jika itu tidak berarti apa - apa , kapan itu mulai digunakan?

prakash
sumber
Pertanyaan yang ditautkan dalam komentar sebelumnya tampaknya telah dihapus. Itu masih tersedia di arsip tidak resmi dari pertanyaan yang dihapus: stackoverflow.hewgill.com/questions/262/271.html . lihat juga pertanyaan terhapus terkait ini: stackoverflow.hewgill.com/questions/163/229.html
HugoRune
1
Pertanyaan ini tampaknya di luar topik karena ini tentang Etymology
bummi
1
Pertanyaan ini di luar topik karena bukan tentang pemrograman dalam lingkup yang ditentukan di pusat bantuan.
14mpi
3
Saya memberikan suara untuk menutup pertanyaan ini sebagai di luar topik karena ini bukan masalah pemrograman.
Servy

Jawaban:

138

Lihat: RFC 3092: Etimologi "Foo", D. Eastlake 3rd et al.

Mengutip hanya definisi yang relevan dari RFC itu untuk singkatnya:

  1. Digunakan sangat umum sebagai nama sampel untuk apa pun, esp. program dan file (khususnya file awal).

  2. Pertama pada daftar standar variabel metasyntactic yang digunakan dalam contoh sintaks (bar, baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, thud). [JARGON]

BCS
sumber
25
Oh, itu luar biasa. Mereka memiliki RFC untuk Foo.
Mark Tomlin
5
Mark Tomlin, lihat tanggal di RFC itu.
Pemrogram Windows
6
Apa itu RFC ;-)?
Bastien Vandamme
1
@Pentarex Apa itu RTFM ;-)?
CodesInChaos
3
RFC - "Permintaan untuk Komentar dokumen diciptakan oleh Steve Crocker pada tahun 1969 untuk membantu mencatat catatan tidak resmi tentang pengembangan ARPANET. Sejak saat itu, dokumen tersebut menjadi catatan resmi untuk spesifikasi, protokol, prosedur, dan acara Internet". Sumber: http://www.livinginternet.com
ZygD
44

foodigunakan sebagai nama tempat-pemegang, biasanya dalam kode contoh untuk menandakan bahwa objek yang disebutkan, atau pilihan nama, bukan bagian dari inti dari contoh. foosering diikuti oleh bar,, bazdan bahkan bundy, jika diperlukan lebih dari satu nama seperti itu. Wikipedia menyebut nama-nama ini Variabel Metasyntactic . Programmer Python seharusnya menggunakan spam, eggs, ham, bukan foo, dll

Ada banyak kegunaan foo di SA.

Saya juga melihat foodigunakan ketika programmer tidak bisa memikirkan nama yang bermakna (sebagai pengganti tmp, katakanlah), tapi saya menganggap itu sebagai penyalahgunaan foo.

Will Harris
sumber
22

Karena definisi "Foo" memiliki banyak arti:

  • bar, dan baz sering digabungkan menjadi kata-kata seperti foobar, barbaz, dan foobaz. www.nationmaster.com/encyclopedia/Metasyntactic-variable

  • Konsep utama dalam CML, biasanya dipetakan langsung ke XMLElements (akan dibahas kemudian). wwmm.ch.cam.ac.uk/blogs/cml/

  • Pengukuran jumlah total padang rumput di paddock, dinyatakan dalam kilogram kering padang rumput per hektar (kg DM / ha) www.lifetimewool.com.au/glossary.aspx

  • Forward Observation Officer. Seorang perwira artileri yang tetap dengan batalyon infantri dan tank untuk mendirikan pos-pos pengamatan di garis depan yang digunakan untuk mengamati posisi musuh dan mengirimkan radio koordinat target ke senjata lebih jauh di belakang. members.fortunecity.com/lniven/definition.htm

  • adalah variabel metasyntactic pertama yang biasa digunakan. Kadang-kadang dikombinasikan dengan bar untuk membuat foobar. Hal ini menunjukkan bahwa foo mungkin berasal dengan Perang Dunia II gaul fubar jangka, sebagai singkatan f ucked / f Ouled u p b eyond sebuah ll r ecognition, meskipun Jargon Berkas membuat kasus yang baik cukup ... penjelasan-panduan. info / makna / Metasyntactic-variable.html

  • Foo adalah variabel metasyntactic yang banyak digunakan dalam ilmu komputer untuk mewakili konsep secara abstrak dan dapat digunakan untuk mewakili bagian mana pun dari ... en.wikipedia.org/wiki/FOo

  • Foo adalah dunia impian (tidak bukan) dalam seri Leven Thumps karya Obert Skye. Meskipun memiliki banyak penghuni asli, sebagian besar penghuninya saat ini berasal dari Realitas, dan dikenal sebagai nits. ... en.wikipedia.org/wiki/Foo (tempat)

  • Juga foo '. Representasi orang bodoh (orang bodoh), dalam aksen Mr. T en.wiktionary.org/wiki/foo

Sumberdaya: google

Lukas Šalkauskas
sumber
Jawaban yang bagus tetapi mungkin layak menaruh tautan ke entri file Jargon: catb.org/jargon/html/F/foo.html
Dave Webb
Hasil Google bukan jawaban
nialljsmith
2
Hasil Google bukan jawaban << Saya tidak mengerti. Jadi apa jawabannya? jika Anda memikirkan satu? tanpa jaminan? atau saya harus meninggalkan di sini tautan yang sebenarnya ke banyak situs? Saya pikir stackoverflow harus memiliki hal-hal di satu tempat, bukan hanya tautan ke situs lain, itu cara saya memposting semua ini ke dalam satu utas.
Lukas Šalkauskas
Hei, jika Anda akan memposting semua jawaban terkait non-pemrograman, mengapa Anda meninggalkan "foo-fighter" nama pilot WWII untuk UFO yang mereka lihat dan tidak bisa mengidentifikasi tetapi dianggap pejuang musuh?
Kmeixner
9

foo = File atau Objek. Ini digunakan sebagai pengganti variabel objek atau nama file.

Deathstalker
sumber
7

Saya pikir itu tidak berarti apa-apa. Wiki mengatakan:

"Foo biasanya digunakan dengan bilah variabel metasyntactic dan foobar."

GateKiller
sumber
3

Suara French fou, (seperti: amour fou) [gila] yang ditulis dalam bahasa Inggris, akan menjadi foo, bukan. Lain furchtbar -> foobar -> foo, bar -> barfoo -> barfuß (bertelanjang kaki). Kamu saja. Kaki tanpa gigi.

Saya setuju dengan semua, yang menyebutkan itu berarti: tidak ada yang menarik, hanya sesuatu, biasanya diperlukan untuk melengkapi pernyataan / ekspresi.

Pengguna tidak diketahui
sumber
Saya suka perbandingan dengan bahasa lain dan artinya berbeda :-D
Matt
3

Di antara kolega saya, arti (atau mungkin lebih tepatnya - penggunaan ) dari istilah "foo" adalah berfungsi sebagai pengganti untuk mewakili contoh nama . Contohnya termasuk, tetapi tidak terbatas pada, NamaVariabel Anda , NamaObject Anda , atau Nama Kolom Anda .

Hari ini, saya menghindari menggunakan "foo" dan lebih suka menggunakan jenis penggantian nama ini karena beberapa alasan.

  • Pada hari-hari awal saya, saya awalnya menemukan penggunaan "foo" sebagai penempatan dalam contoh apa pun untuk mewakili sesuatu yang dianggap membingungkan. Saya ingin contoh kerja, bukan sesuatu yang foobar.
  • Hasil Anda mungkin bervariasi, tetapi saya selalu, 100%, setiap kali, tidak pernah gagal, mendapat pertanyaan lanjutan lebih lanjut tentang arti dari variabel aktual di mana "foo" digunakan.
Jimmy B
sumber
2

Menurut pendapat saya, setiap programmer memiliki "kata-kata" sendiri yang digunakan setiap kali Anda membutuhkan kata yang berubah-ubah saat pemrograman. Bagi sebagian orang itu adalah kata-kata pertama dari lagu anak-anak, untuk orang lain itu nama dan untuk orang lain itu sesuatu yang sama sekali berbeda. Sekarang untuk komunitas programmer ada "kata-kata" ini juga, dan kata-kata ini adalah 'foo' dan 'bar'. Penggunaan ini adalah bahwa jika Anda harus berkomunikasi secara terbuka tentang pemrograman Anda tidak harus mengatakan bahwa Anda akan menggunakan kata-kata arbitrase, Anda cukup menulis 'foo' atau 'bar' dan setiap programmer tahu bahwa ini hanyalah kata-kata yang sewenang-wenang.

khebbie
sumber
2
Jika "semua orang" tahu ini, mengapa begitu banyak orang bertanya tentang arti "foo", "bar" dan "foobar"? Prakash bukan orang pertama yang bertanya. IMO foo, bar dan foobar tidak intuitif, seperti a, b, c, tmp, X, Y, Z, var dan func, itulah sebabnya saya pikir banyak pe
Anders Sandvig
Hm .. Apakah hanya saya, atau render komentar panjang rusak? Lagi pula, sisanya adalah "... mengapa saya pikir banyak orang menganggapnya mengganggu."
Anders Sandvig
1
Ya, Anda melebihi batas 300 karakter untuk komentar;) tetapi terima kasih!
prakash
Saya mungkin hanya terjerat dalam komunitas pengembang ;-)
khebbie
Saya menemukan (dan menemukan) mereka mengganggu. Terutama ketika pertama kali mencoba menguraikan python, saya menganggap mereka jauh lebih bermakna daripada mereka. Mungkin suatu fungsi, atau bagian dari sintaksis. Meskipun saya memiliki masalah yang sama dengan hal-hal seperti ** kwargs. Secara naluriah saya mencoba menghafal hal-hal seperti itu. Sampai menuliskannya. Sampai seseorang mengatakan kepada saya, "tidak masalah apa kalimat yang Anda gunakan, asalkan Anda memiliki **". Setidaknya "kwargs" masuk akal ketika Anda menyadari apa artinya. Hal-hal seperti "foo" hanya membingungkan 'mistis'. Mereka merasa seperti pelarian demi pelarian.
OmikronWeapon