Mengapa banyak contoh kode, terutama tutorial, sering menggunakan nama "Foo" dan "Bar"? Ini hampir standar.
Sebagai contoh:
void foo(char* bar) {
printf("%s", bar);
}
Mengapa banyak contoh kode, terutama tutorial, sering menggunakan nama "Foo" dan "Bar"? Ini hampir standar.
Sebagai contoh:
void foo(char* bar) {
printf("%s", bar);
}
Jawaban:
Foo and bar berasal dari singkatan US Army WWII FUBAR, "F-ed Up Beyond All Recognition". Seluruh keluarga istilah ini mulai digunakan secara luas selama kampanye Afrika Utara dan Sisilia (1942-1943). Hari Pertempuran Rick Atkinson yang sangat baik : Perang di Sisilia dan Italia, 1943-1944 memberikan daftar ini. Misalnya JANFU adalah "Joint Army Navy F Up", seperti insiden pada 11 Juli 1943 ketika armada invasi untuk Operasi Husky menembak jatuh 23 transportasi Angkatan Udara C-47 yang mengangkut pasukan penerjun payung untuk memperkuat tempat berpijak.
Pembaruan: Wikipedia memiliki daftar akronim terkait yang mencakup beberapa yang asli WWII yang terdaftar oleh Atkinson.
Setiap programmer akan memahami motivasi untuk menggunakan variabel foo dan bar untuk nama. Mereka tentu telah menjadi bagian dari budaya C / UNIX sejak awal, dan seperti yang ditunjukkan oleh @Walter Mitty, mendahului itu.
Pembaruan (10/5/2009): Inilah uraian Atkinson:
"Sikap sipil" mereka yang menyebar membuat mereka waspada terhadap semangat bela diri. "Kami bukan orang romantis yang dipenuhi dengan jubah cape-and-sword," tulis John Mason Brown, seorang letnan Cadangan Angkatan Laut yang menuju ke Sisilia. "Perang terakhir terlalu dekat untuk itu." Kehidupan militer mengobarkan perasaan ironis mereka dan skeptisisme mereka. Satu akronim kasar yang menangkap harapan prajurit yang lebih rendah - SNAFU, "situasi normal, semua kacau" - telah berkembang menjadi kosakata sinisme GI: SUSFU (situasi tidak berubah, masih kacau); FUMTU (kacau lebih dari biasanya); JANFU (gabungan Angkatan Darat-Angkatan Laut); JAAFU (persetan Anglo-Amerika); FUAFUP (kacau dan kacau tepat); dan FUBAR (kacau di luar semua pengakuan) [Atkinson, p. 36].
Pembaruan (23/11/2011): @Hugo memiliki daftar fantastis anteseden non-militer.
Saya pikir itu adalah pernyataan fonetis fubar.
Yang merupakan singkatan:
The New Hacker Kamus memiliki entri yang sangat baik ini - dan saya menganggap itu menjadi sumber daya yang lebih baik untuk hal semacam ini dari Wikipedia:
variabel metasyntactic /n.
Sebuah nama yang digunakan dalam contoh-contoh dan dipahami sebagai singkatan dari apa pun yang sedang dibahas, atau sembarang anggota kelas yang sedang dibahas. Kata foo adalah contoh kanonik. Untuk menghindari kebingungan, peretas tidak pernah (yah, hampir tidak pernah) menggunakan `foo 'atau kata lain seperti itu sebagai nama permanen untuk apa pun. Dalam nama file, konvensi umum adalah bahwa setiap nama file yang diawali dengan nama variabel metasyntactic adalah file awal yang dapat dihapus kapan saja.
Hingga taraf tertentu, daftar variabel metasintactic yang disukai seseorang adalah tanda tangan budaya. Mereka muncul baik secara seri (digunakan untuk kelompok variabel atau objek terkait) dan sebagai lajang. Berikut adalah beberapa tanda tangan yang umum:
foo, bar, baz, quux, quuux, quuuux ...:
Penggunaan MIT / Stanford, sekarang ditemukan di mana-mana (sebagian besar berkat versi awal leksikon ini!). Di MIT (tetapi tidak di Stanford), baz berhenti digunakan untuk sementara waktu di tahun 1970-an dan 1980-an. Mutasi mutakhir yang umum terjadi pada urutan ini menyisipkan qux sebelum quux.bazola, ztesch:
Stanford (dari pertengahan '70 -an ke atas).foo, bar, thud, grunt:
Serial ini populer di CMU. Variabel terkait CMU lainnya termasuk gorp.foo, bar, fum:
Seri ini dilaporkan umum di XEROX PARC.fred, barney:
Lihat entri untuk fred. Ini cenderung Britishisms.corge, grault, flarp:
Populer di Rutgers University dan di antara peretas GOSMACS.zxc, spqr, wombat:
Universitas Cambridge (Inggris).shme
Berkeley, GeoWorks, Ingres. Diucapkan / shme / dengan short / e /.snorkeling
Brown University, awal 1970-an.foo, bar, zot
Universitas Teknologi Helsinki, Finlandia.blarg, geli
Selandia Baru.toto, titi, tata, tutu
Prancis.pippo, pluto, paperino
Italia. Pippo / pee'po / dan Paperino / pa-per-ee'-no / adalah nama Italia untuk Goofy dan Donald Duck.aap, noot, mies
Belanda. Ini adalah kata-kata pertama yang digunakan anak untuk belajar mengeja di papan ejaan Belanda.Dari semua ini, hanya 'foo' dan 'bar' yang universal (dan baz hampir seperti itu). Senyawa foobar dan `foobaz 'juga menikmati mata uang yang sangat luas.
Beberapa istilah jargon juga digunakan sebagai nama metasyntactic; muntah dan bergumam, misalnya. Lihat juga Commonwealth Hackish untuk diskusi tentang berbagai variabel metasyntactic yang ditemukan di Inggris Raya dan Persemakmuran.
Wikipedia memberikan definisi ini dari Variabel Metasyntactic :
Dalam ilmu komputer, programmer menggunakan variabel metasyntactic untuk mendeskripsikan nama placeholder atau istilah alias yang biasa digunakan untuk menunjukkan materi pelajaran yang sedang dibahas atau anggota sewenang-wenang dari suatu kelas yang sedang dibahas. Penggunaan variabel metasyntactic sangat membantu dalam membebaskan programmer dari membuat variabel bernama logis, yang sering berguna ketika membuat atau mengajar contoh-contoh algoritma. Kata foo adalah contoh utama.
Istilah "variabel metasyntactic" terutama ditemukan dalam literatur informal. Kadang-kadang juga digunakan sebagai sinonim untuk metavariable.
Simbol atau kata apa pun yang tidak melanggar aturan bahasa dapat digunakan sebagai variabel metasintactic, tetapi kata-kata yang tidak masuk akal biasanya digunakan. Konsep yang sama digunakan di bidang lain di mana ia dinyatakan oleh istilah-istilah seperti variabel skematik (lihat bentuk logis ).
Dengan analogi matematis: Variabel metasyntactic adalah kata yang merupakan variabel untuk kata lain, sama seperti dalam huruf aljabar digunakan sebagai variabel untuk angka.
Artikel ini juga memberikan contoh umum variabel tersebut dalam berbagai bahasa pemrograman:
C
Dalam contoh bahasa pemrograman C berikut ini, nama fungsi foo dan bilah nama variabel keduanya adalah variabel metasintaktis. Baris yang dimulai dengan // adalah komentar.
// 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, dan telur adalah variabel metasintaktis utama yang digunakan dalam bahasa pemrograman Python. [5] Ini adalah referensi ke sketsa komedi terkenal, Spam, oleh Monty Python, eponim bahasa tersebut. [6] Dalam contoh berikut, spam, ham, dan telur adalah variabel metasyntactic dan baris yang dimulai dengan # adalah komentar.
# Define a function named spam
def spam():
# define the variable ham
ham = "Hello World!"
#define the variable eggs
eggs = 1
return
Rubi
Pada contoh berikut ini, baz, foo, dan bar adalah variabel metasyntactic dan baris yang diawali dengan # adalah komentar.
# 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
Inilah jawaban wikipedia:
Istilah foobar, foo, bar, dan baz, adalah nama placeholder yang umum (juga disebut sebagai variabel metasyntactic) yang digunakan dalam pemrograman komputer atau dokumentasi terkait komputer. Mereka biasanya digunakan untuk mewakili nilai-nilai yang tidak diketahui, biasanya ketika menggambarkan sebuah skenario di mana tujuan dari nilai-nilai yang tidak diketahui dipahami, tetapi nilai-nilai tepatnya mereka sewenang-wenang dan tidak penting. Istilah ini dapat digunakan untuk mewakili bagian mana pun dari sistem atau ide yang rumit, termasuk data, variabel, fungsi, dan perintah. Kata-kata itu sendiri tidak memiliki arti dalam penggunaan ini, dan hanyalah representasi logis, seperti huruf x dan y yang digunakan dalam aljabar. Foobar sering digunakan sendiri; foo, bar, dan baz biasanya digunakan dalam urutan itu, ketika diperlukan banyak entitas.
Foo telah memasuki bahasa Inggris sebagai neologisme dan dianggap oleh banyak orang sebagai contoh kanonik dari variabel metasyntactic. Eric S. Raymond menyebutnya sebagai "hacker penting" bersama kludge dan cruft. [1]
http://en.wikipedia.org/wiki/Foo
Dan dari RFC 3092:
Ketika digunakan dalam kaitannya dengan 'bar', ini biasanya dilacak ke akronim slang Angkatan Darat era WW II FUBAR ('Fucked Up Beyond All Repair'), kemudian dimodifikasi menjadi foobar. Versi awal File Jargon [JARGON] menafsirkan perubahan ini sebagai bowdlerization pasca-perang, tetapi sekarang tampaknya lebih mungkin bahwa FUBAR sendiri merupakan turunan dari 'foo' yang mungkin dipengaruhi oleh 'furchtbar' Jerman (mengerikan) - 'foobar' mungkin sebenarnya telah menjadi bentuk aslinya.
Karena, tampaknya, kata 'foo' sendiri memiliki sejarah sebelum perang langsung dalam strip komik dan kartun. Dalam kartun Warner Brothers 1938 yang disutradarai oleh Robert Clampett, "The Daffy Doc", versi paling awal dari Daffy Duck mengangkat sebuah tanda bertuliskan "SILENCE IS FOO!" ... (snip)
tl; dr
"Foo" dan "bar" sebagai variabel metasintactic dipopulerkan oleh MIT dan DEC, referensi pertama sedang dikerjakan pada LISP dan PDP-1 dan Project MAC dari tahun 1964 dan seterusnya.
Banyak dari orang-orang ini berada di Tech Model Railroad Club MIT, di mana kami menemukan penggunaan pertama "foo" dalam lingkaran teknologi pada tahun 1959 (dan varian pada tahun 1958).
Baik "foo" dan "bar" (dan bahkan "baz") terkenal dalam budaya populer, terutama dari komik Smokey Stover dan Pogo, yang akan dibaca oleh banyak anggota TMRC.
Juga, tampaknya FUBAR militer berkontribusi pada popularitas mereka.
Penggunaan "foo" tunggal sebagai kata yang tidak masuk akal didokumentasikan dengan baik dalam budaya populer di awal abad ke-20, seperti halnya FUBAR militer. (Beberapa bacaan latar belakang: FOLDOC FOLDOC Jargon File Jargon File Wikipedia RFC3092 )
OK, jadi mari kita cari beberapa referensi.
BERITA TERAKHIR! Setelah memposting jawaban ini, saya menemukan artikel yang sempurna tentang "foo" di The Tech edisi Jumat 14 Januari 1938 ("koran MIT tertua dan terbesar & surat kabar pertama yang diterbitkan di web"), Volume LVII. 57, Harga Tiga Sen:
Di Foo-isme
Lounger berpikir bahwa bisnis Foo-isme ini telah dijalankan terlalu jauh oleh para pendukungnya yang salah arah, dan dengan ini dan seterusnya mengambil sikap menentang penyalahgunaannya. Mungkin saja tidak ada foo seperti foo lama, dan kita sudah terbiasa, tapi bagaimanapun, foo dan uangnya adalah pesta. (Suara dari bangku - "Jangan foo-lish!")
Sebagai sumpah serapah, tentu saja, "foo!" memiliki posisi yang pasti dan mungkin tidak tergantikan dalam bahasa kita, meskipun kami khawatir bahwa penggunaan berlebihan yang saat ini dikenakan dapat mengakibatkan jatuh ke dalam pelepasan awal (dan, sayangnya, gelap). Kami mengucapkan sangat sayang karena penggunaan kata yang tepat dapat menghasilkan insiden bahagia seperti berikut ini.
Itu adalah kuliah termodinamika 8.50 oleh Profesor Slater di Kamar 6-120. Profesor itu, setelah menutupi bagian depan papan tulis, mengatur pegangan yang mengoperasikan mekanisme pengangkatan, sementara itu berpaling ke kelas untuk melanjutkan diskusi. Papan depan perlahan-lahan, dengan megahnya, mengangkat dirinya sendiri, memperlihatkan papan di belakangnya, dan di papan itu, tertulis besar, simbol-simbol yang dieja "FOO"!
Surat kabar The Tech , setahun sebelumnya, Surat kepada Editor, September 1937 :
Pada saat kereta telah mencapai stasiun itu, para neophytes begitu penuh dengan cerita-cerita tentang kemuliaan Phi Omicron Omicron, yang biasanya disebut sebagai Foo, sehingga mereka menjadi mangsa yang mudah.
...
Bukannya saya keberatan kehilangan empat putra pertama saya karena Grand dan Persaudaraan Universal Phi Omicron Omicron, tetapi saya berharap putra kelima saya, bayi saya, setidaknya harus diperingatkan terlebih dahulu.
Semoga milikmu,
Marah Ibu Lima.
Dan The Tech pada bulan Desember 1938 :
Kecenderungan pemikiran umum mungkin paling baik ditafsirkan dari pernyataan yang dibuat di akhir surat suara. Satu suara mengatakan, '"Saya tidak berpikir apa yang saya lakukan adalah urusan Pulver," sementara yang lain hanya menambahkan singkat, "Foo."
Yang pertama didokumentasikan "foo" di kalangan tech mungkin 1959 's Kamus Bahasa TMRC :
FOO: suku kata suci (FOO MANI PADME HUM); untuk diucapkan hanya ketika di bawah inspirasi untuk berkomunikasi dengan Dewa. Kewajiban pertama kami adalah membuat Foo Counters berputar.
Ini dijelaskan di FOLDOC . Kompiler kamus Pete Samson berkata pada 2005:
Penggunaan kata ini di TMRC berarti saya datang ke sana. Penghitung foo bisa saja memiliki lampu berkedip acak, atau bisa menjadi penghitung nyata dengan input yang tidak jelas.
Dan dari Jargon File 4.0.0 tahun 1996 :
Versi sebelumnya dari leksikon ini berasal 'baz' sebagai korupsi Stanford bar. Namun, Pete Samson (penyusun leksikon TMRC) melaporkan bahwa itu sudah berlaku ketika ia bergabung dengan TMRC pada tahun 1958. Ia mengatakan "Itu berasal dari" Pogo ". Albert the Alligator, ketika kesal atau marah, akan berteriak 'Bazz Fazz!' atau 'Rowrbazzle!' Tata letak klub dikatakan sebagai model county Rowrfolk dan Bassex (mistis) New England (Rowrbazzle berbaur dengan (Norfolk / Suffolk / Middlesex / Essex). "
Setahun sebelum kamus TMRC, MIT Voo Doo Gazette 1958 ("Suplemen humor kantor Dekan MIT") (PDF) menyebutkan Foocom, dalam "The Laws of Murphy and Finagle" oleh John Banzhaf (seorang mahasiswa teknik elektro) :
Penelitian lebih lanjut di bawah dana gabungan Foocom dan Anarcom memperluas undang-undang tersebut menjadi mencakup semua dan berlaku secara universal: Jika ada yang salah, itu akan!
Juga 1964 MIT Voo Doo (PDF) referensi penggunaan TMRC:
Iya! Saya ingin menjadi pelanggan instan dan salju yang sukses. Kirimi saya gelar di: ...
Penghitung Foo
Foo Jung
Tetapi mari kita ingat pertanyaan ini tentang contoh kode, jadi mari kita cari "foo", "bar" dan "foobar" yang diterbitkan dalam kode.
Jadi, Jargon File 4.4.7 mengatakan "foobar":
Mungkin awalnya disebarkan melalui manual DECsystem oleh Digital Equipment Corporation (DEC) pada 1960-an dan awal 1970-an; penampakan dikonfirmasi ada kembali ke 1972.
Referensi yang diterbitkan pertama yang dapat saya temukan adalah dari Februari 1964 , tetapi ditulis pada bulan Juni 1963, Bahasa Pemrograman LISP: Pengoperasian dan Aplikasi oleh Information International, Inc., dengan banyak penulis, tetapi termasuk Timothy P. Hart dan Michael Levin:
Jadi, karena "FOO" adalah nama untuk dirinya sendiri, "COMITRIN" akan memperlakukan "FOO" dan "(FOO)" dengan cara yang persis sama.
Juga termasuk variabel metasyntactic lainnya seperti: FOO CROCK GLITCH / POOT TOOR / ON YOU / SNAP CRACKLE POP / XYZ
Saya berharap ini sama dengan referensi "foo" berikutnya dari Project MAC MIT pada bulan Januari 1964 AIM-064, atau LISP Exercises oleh Timothy P. Hart dan Michael Levin:
mobil [((FOO. CROCK). GLITCH)]
Ini berbagi banyak variabel metasyntactic lainnya seperti: CHI / BOSTON NEW YORK / SPINACH BUTTER STEAK / FOO CROCK GLITCH / POOT TOOT / TOOT TOOT / ISTHISATRIVIALEXCERCISE / PLOOP FLOT TOP / SNAP CRACKLE POP / ONE TWO / PLANE SUB THRES
Untuk "foo" dan "bar" secara bersamaan, referensi paling awal yang dapat saya temukan adalah dari Project MAC MIT pada bulan Juni 1966 , AIM-098, atau LISP PDP-6 oleh Peter Samson:
EXPLODE, seperti PRIN1, memasukkan garis miring, jadi (EXPLODE (QUOTE FOO / BAR)) PRIN1's as (FOO // / BAR) atau PRINC's as (FOO / BAR).
Beberapa pengingatan lagi.
@Walter Mitty ingat di situs ini pada 2008:
Saya kedua file jargon tentang Foo Bar. Saya dapat melacaknya kembali setidaknya sampai tahun 1963, dan nomor seri 2 PDP-1, yang berada di lantai dua Gedung 26 di MIT. Foo dan Foo Bar digunakan di sana, dan setelah 1964 di ruang PDP-6 di proyek MAC.
John V. Everett mengenang pada tahun 1996:
Ketika saya bergabung dengan DEC pada tahun 1966, foobar sudah umum digunakan sebagai nama file yang dibuang. Saya percaya fubar menjadi foobar karena PDP-6 mendukung enam nama karakter, meskipun saya selalu menganggap istilah tersebut bermigrasi ke DEC dari MIT. Ada banyak tipe MIT di DEC pada masa itu, beberapa di antaranya telah bekerja dengan 7090/7094 CTSS. Karena 709x juga merupakan mesin 36 bit, foobar mungkin telah digunakan sebagai nama file umum di sana.
Foo dan bar juga biasa digunakan sebagai ekstensi file. Karena editor teks pada hari itu beroperasi pada file input dan menghasilkan file output, itu biasa untuk mengedit dari file .foo ke file .bar, dan kembali lagi.
Itu juga umum untuk menggunakan foo untuk mengisi buffer ketika mengedit dengan TECO. String teks untuk secara tepat mengisi satu blok disk adalah IFOO $ HXA127GA $$. Hampir semua programmer PDP-6/10 yang saya gunakan menggunakan string perintah yang sama.
Daniel PB Smith pada tahun 1998:
Dick Gruen memiliki perangkat di kamar asramanya, kumpulan baterai-B, resistor, kapasitor, dan tabung neon NE-2 yang biasa, yang ia sebut "penghitung foo." Ini sekitar tahun 1964 atau lebih.
Robert Schuldenfrei pada tahun 1996:
Penggunaan FOO dan BAR sebagai contoh nama variabel kembali setidaknya ke tahun 1964 dan IBM 7070. Ini juga mungkin lebih tua, tetapi di situlah saya pertama kali melihatnya. Ini di Assembler. Apa yang akan menjadi setara bilangan bulat FORTRAN? IFOO dan IBAR?
Paul M. Wexelblat pada tahun 1992:
Assembler PDP-1 awal menggunakan dua karakter untuk simbol (mesin 18 bit) pemrogram selalu meninggalkan beberapa kata sebagai ruang tambalan untuk memperbaiki masalah. (Lompat untuk menambal ruang, lakukan kode baru, lompat ke belakang) Ruang itu secara konvensional bernama FU: yang merupakan singkatan dari Fxxx Up, tempat Anda memperbaiki Fxxx Ups. Ketika diucapkan, itu dikenal sebagai ruang FU. Assemblers kemudian (mis. MIDAS mengizinkan tiga tag char sehingga FU menjadi FOO, dan karena SEMUA programmer PDP-1 akan memberi tahu Anda bahwa itu adalah ruang FOO.
Bruce B. Reynolds pada tahun 1996:
Di sisi IBM dari FOO (FU) BAR adalah penggunaan sisi BAR sebagai Register Alamat Dasar; pada pertengahan 1970-an programmer CICS harus khawatir tentang berbagai xxxBAR ... Saya pikir salah satunya adalah FRACTBAR ...
Inilah IBM "BAR" langsung dari tahun 1955.
Referensi awal lainnya:
1973 foo bar Dewan Gabungan Internasional tentang Kecerdasan Buatan
1975 foo bar Dewan Gabungan Internasional tentang Kecerdasan Buatan
Saya belum dapat menemukan referensi ke foo bar sebagai "sinyal foo terbalik" seperti yang disarankan dalam RFC3092 dan di tempat lain.
Berikut adalah beberapa F00 lebih awal tapi saya pikir mereka kebetulan / positif palsu:
menggunakan kata-kata seperti "foo" dan "bar" membuat Anda fokus pada konsep bukan pada apa yang dapat Anda pahami berdasarkan istilah yang Anda tahu. Sebagai contoh:
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");
}
}
Kode di atas memungkinkan Anda kembali pada pengetahuan Anda tentang hal-hal dunia nyata.
Jika Anda mencoba menjelaskan sebuah konsep di mana bagian yang penting bukanlah apa yang sedang dilakukan (mencetak meow atau kulit kayu misalnya) tetapi tentang bagaimana hal itu dilakukan maka lepaskan bagian-bagian yang Anda kenal membantu:
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");
}
}
Sekarang Anda harus fokus pada apa yang sebenarnya terjadi, Anda tidak lagi dapat menebak apa yang akan terjadi.
Jadi, versi singkatnya adalah, bahwa foo, bar, dan sejenisnya, digunakan untuk menekankan konsep di mana konten tidak terlalu penting tetapi idenya.
Dari http://en.wikipedia.org/wiki/Foobar
Dalam teknologi, kata itu mungkin awalnya disebarkan melalui manual sistem oleh Digital Equipment Corporation pada 1960-an dan awal 1970-an. Kemungkinan lain adalah foobar berevolusi dari elektronik, sebagai sinyal foo terbalik. Ini karena jika sinyal digital aktif rendah (sehingga kondisi negatif atau tegangan nol mewakili "1") maka bar horizontal biasanya ditempatkan di atas label sinyal. File Jargon menjelaskan bahwa foo mungkin ada sebelum FUBAR
Dari File Jargon http://www.catb.org/jargon/html/F/foo.html
foo: / foo /
bar: / bar /, n.
Menurut http://en.wikipedia.org/wiki/Foo :
Asal usul istilah 'tidak diketahui dengan pasti, dan beberapa teori anekdotal telah dikembangkan untuk mengidentifikasi mereka. Foobar mungkin berasal dari akronim militer vulgar FUBAR, atau mungkin telah mendapatkan popularitas karena fakta bahwa itu diucapkan sama.
Saya kedua file jargon tentang Foo Bar.
Saya dapat melacaknya kembali setidaknya sampai tahun 1963, dan nomor seri 2 PDP-1, yang berada di lantai dua Gedung 26 di MIT. Foo dan Foo Bar digunakan di sana, dan setelah 1964 di ruang PDP-6 di proyek MAC.
Sejauh yang saya tahu, foo berasal dari foobar yang merupakan perubahan dari "fubar", menangkap phraase militer yang berdiri untuk " F *** ed u p b eyond sebuah ll r ecognition."
Kemudian lagi, mungkin ada sumber lain.
Foo and Bar (atau dikenal sebagai FUBAR ... F *** ed Up Beyond All Recognition) baru saja digunakan sebagai nama generik standar untuk hal-hal seperti kelas, properti, nama metode, dll.
Pada dasarnya idenya adalah untuk menyampaikan kode Anda tanpa banyak informasi asing yang mungkin bisa menjauh dari cara kerja kode (yaitu kita tidak perlu tahu fungsi Anda bernama AddUser untuk melihat kode dan memahami apa fungsinya jika kita menamainya kembali. ke Foo ()).
Ini adalah kata-kata yang tidak masuk akal yang dalam banyak kasus dapat diganti dengan kata-kata contoh yang lebih relevan. Kata-kata "foo" dan "bar" sering digunakan dalam pemrograman ketika seseorang tidak dapat memikirkan contoh yang baik.
Jika "foo" dan "bar" berasal dari FUBAR, mengapa itu digunakan oleh begitu banyak profesional dalam contoh-contoh instruksi ketika contoh-contohnya menyerupai tidak ada yang dikarang di luar pengakuan?
Bagi saya, penggunaan umum dari kata-kata ini secara tidak tepat adalah apa yang begitu sulit dikenali.