Quine (програмиране) е
Quine, quine (англ. quine ) - компютърна програма, която извежда точно копие на оригиналния си текст на изхода.
Трябва да се отбележи, че програмите, които използват външни данни, не се считат за quines; т.е. четенето на програмния текст от файла, въвеждането му от клавиатурата и т.н. се изключва. Освен това „програма“, която изобщо не съдържа код (дегенериран случай), не се счита за куин. В книгата "Изследвания за програмисти" от Чарлз Уедъръл е формулирано по-строго условие: програмата не трябва да използва трикове, които позволяват достъп до нейния изходен код, съхраняван в паметта на товарача или интерпретатора. Следователно Quine в BASIC 10 LIST не е съвсем честен, както и ТИП ИЗТОЧНИК на езика Fort.
Терминът получи името си от американския логик и философ Уилард Ван Орман Куайн (англ. Willard van orman quine ) (1908-2000), който се занимава с задълбочено изследване на косвеното самоспоменаване (англ. непряка самореференция ).
Съдържание
Quine съществува във всеки език за програмиране, който има способността да извежда произволен изчисляван ред текст. Идеята на Куайн е описана за първи път от Пол Братли. Братли, Пол ) и Жан Мило (англ.). Мило, Жан ) в „Компютърни развлечения; Автоматично възпроизвеждащи се автомати, Софтуер - практика и опит, брой 2 (1972), стр. 397-400. Братли се заинтересува от самовъзпроизвеждащи се програми, след като видя първата такава програма, написана на езика за програмиране Atlas Autocode в Единбург през 60-те години, от професор и изследовател Хамиш Дево. Хамиш деуар ).
Ето източника на тази програма:
В случай на писане на quine в C/C ++, програмата е разделена на две части: (и) изходния текст на първата част (код) и б) код, отговорен за показване на резултата. Програмата използва втората част за извеждане на първата и някакъв специален трик за извеждане на втората част. Има много начини за организиране на данни в изходния код на дадена програма, но обща характеристика на първата част на quine (блок данни) е, че тя показва част от цялата програма.