Quine (informatica)
# Quine (informatica)

In informatica, un quine è un algoritmo che riproduce il suo stesso codice sorgente senza usare funzioni di I/O (aprire il file sorgente e stampare il suo contenuto è considerato "barare").

Si tratta di un classico esercizio di programmazione che spesso viene dato a programmatori senza molta esperienza per testare le loro capacità. Per il proprio divertimento, molti programmatori esperti si impegnano a sviluppare il quine più breve possibile in ogni linguaggio di programmazione. Il nome "quine" deriva dal filosofo Willard Van Orman Quine; egli coniò infatti l'espressione paradossale "Yields falsehood when appended to its own quotation", ovvero "Produce una falsità se preceduto dalla propria citazione".

## Esempio di quine in C#

Nota: sono stati aggiunti i ritorni a capo per facilitare la lettura.

## Esempio di quine in Python

Usando Python 3.0 diventa

Ed eccone un altro (è stato aggiunto un ritorno a capo per facilitare la lettura):

## Esempio di quine in BASIC

ed eccone un altro che sfrutta i comandi READ e DATA

## Esempio di quine in Brainfuck

Nota: sono stati aggiunti i ritorni a capo per facilitare la lettura.

## Esempio di quine in SQL Oracle

Nota: in questa espressione SQL sono stati aggiunti i ritorni a capo per facilitare la lettura. Si intende che il valore NULL valga pure come stringa vuota e che il carattere ASCII CHR(39) sia il carattere di terminazione di una stringa ('); si fa affidamento sul fatto che la colonna DUMMY della tabella DUAL restituisca la stringa 'X' e che il carattere 'X' compaia una sola volta in tutta l'espressione. Altri dialetti di SQL possono adattare questo esempio.

## Esempio di quine in Bash

Il più piccolo quine Bash

versione da shell su una sola riga:

