Un professore della mia Università, docente del corso di Laboratorio di Programmazione di Sistema (in cui sostanzialmente si studia linguaggio C in ambiente Linux), ha chiesto ai suoi studenti di scrivere in C un programma che, una volta eseguito, stampa a video il proprio codice sorgente.
La soluzione dell'esercizio è un programma composto da una manciata di righe di codice:
main(char*a)
{
a="main(char*a){a=%c%s%c;printf(a,34,a,34);}";
printf(a,34,a,34);
}
Su questa pagina, inoltre, si possono trovare i programmi che stampano sé stessi scritti in diversi linguaggi, tra cui Assembler e BASIC.