Foo là một
biến siêu cú pháp được dùng rất nhiều trong
khoa học máy tính để đại diện cho các khái niệm mang tính
trừu tượng và có thể được dùng để đại diện cho bất kỳ bộ phận nào của một hệ thống hoặc ý tưởng phức tạp bao gồm
dữ liệu,
biến số,
hàm, và
lệnh. Foo thường được dùng với biến siêu cú pháp khác là
bar và
foobar.Bản thân từ foo không có nghĩa gì mà chỉ là một cách đại diện luận lý thường được dùng, và được dùng nhiều tương tự như cách các ký tự x {\displaystyle x} và y {\displaystyle y} được dùng trong
đại số để đại diện cho một con số. Trong lập trình máy tính các biến siêu cú pháp như foo được dùng như một biến để đại diện cho tên của một
chương trình con,
biến số hoặc một phần nào đó cần đặt tên của chương trình.Foo bắt đầu xuất hiện trong tiếng Anh như một
từ mới nhờ sự phổ biến của nó khi mô tả các khái niệm trong khoa học máy tính và được nhiều người xem là một ví dụ
kinh điển của biến siêu cú pháp. Nó được dùng rất nhiều trong các ví dụ về
lập trình máy tính và
mã giả.
Eric S. Raymond đã gọi nó là một "chủ nghĩa hack quan trọng" cùng với
kludge và
cruft.
[1]Foo và bar đi cặp với nhau rõ ràng xuất phát từ chữ
FUBAR, nhưng từ nguyên của thuật ngữ "foo" được tìm thấy ở
RFC 3092 Internet, trong đó ghi chú cách dùng "foo" vào các phim hoạt hình vào thập niên 1930 bao gồm
The Daffy Duck và các loạt truyện tranh ngắn, đặc biệt là
Smokey Stover và
Pogo. Từ đó thuật ngữ được đưa vào tiếng lóng trong quân sự, nơi nó được nhập vào FUBAR.
[2]Thuật ngữ đã được dùng trong những bối cảnh khác. $foo là tên của một tạp chí lập trình
Perl,
[3] và
Trại Foo là một
hội nghị các
hacker hàng năm (tên này còn được dùng ẩn ý với nghĩa Bạn bè (friend) của
O'Reilly, nhà tài trợ cho sự kiện).