Foo

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm

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à barfoobar.

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ự xy được dùng trong đại số dể đạ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ínhmã giả. Eric S. Raymond đã gọi nó là một "chủ nghĩa hack quan trọng" cùng với kludgecruft.[1]

Foobar đ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 StoverPogo. 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]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).

Ví dụ (mã giả)[sửa | sửa mã nguồn]

Giả sử ta có hai hàm: FOO và BAR
 FOO gọi hàm BAR 
 BAR trả về giá trị FOOBAR

Khi có nhiều hơn một thực thể trừu tượng cần tham khảo như vậy, các thuật ngữ bar và baz hoặc foobar cũng thường được dùng để chỉ đến các thực thể thứ hai và thứ ba, như ở trên. (Nói một cách khác, thuật ngữ 'bar' dùng để ngụ ý về sự tồn tại của thực thể chính 'foo', v.v.).

Ví dụ trên là một mẫu chung cho bất kỳ đoạn chương trình nào trong đó một hàm gọi hàm khác để nhận được một giá trị trả về.

Vụ kiện chống độc quyền Microsoft[sửa | sửa mã nguồn]

Trong khi xử vụ Hoa Kỳ kiện Microsoft, một số bằng chứng cho thấy Microsoft đã cố gắng sử dụng tổ chức Web Services Interoperability như một phương tiện để ngăn ngừa sự cạnh tranh kể cả những email trong đó những nhà điều hành hàng đầu như Bill Gates đã nhắc đến WS-I với tên mã "foo".[4]

Xem thêm[sửa | sửa mã nguồn]

Ghi chú[sửa | sửa mã nguồn]

Liên kết ngoài[sửa | sửa mã nguồn]