В програмирането с quine се обозначава програма (наричана понякога метапрограма) която изписва собственият си текст върху стандартния изход. Програмата не бива да чете от никакво входно устройство. Хакерите се забавляват, опитвайки се да напишат най-кратката версия на такава програма за кой да е от програмните езици.

Quine-ите са именувани на философа Уилард ван Орман Куайн, който се е занимавал с непрякото самоизразяване: той изследва парадоксални изречения от вида „влече лъжа когато се приложи към себе си.“

Кратък quine на C main(){char*a="main(){char*a=%c%s%c;printf(a,34,a,34);}";printf(a,34,a,34);}

Кратък quine на Pascal const a:string='const a:string=;begin insert(#39+a+#39,a,16);write(a) end.';begin insert(#39+a+#39,a,16);write(a) end.

Кратък quine на Scheme LISP ((lambda (x) (list x (list (quote quote) x))) (quote (lambda (x) (list x (list (quote quote) x)))))

Вижте също Уилард ван Орман Куайн

Външни препратки The Quine Page (by Gary P. Thompson) QuinePrograms at the Portland Pattern Repository Wiki David Madore's Discussion of Quines JavaScript Quine Contest Entries

Категория:Програмиране