Самоизписваща се програма

(пренасочване от Quine)

Тази статия описва тип компютърни програми. Може би Вие търсите информация за философа Willard Van Orman Quine.

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

Quine-ите са именувани на философа W. V. 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)))))

Външни препратки

редактиране