[image]https://leganerd.com/wp-content/uploads/LEGANERD_042742.jpg[/image]

Chiunque abbia mai programmato in C si è spesso reso conto di quanto possa essere complesso leggerne un listato scritto in maniera pessima da programmatori inesperti, chiedendosi inoltre, fino a che livello si potesse scendere in basso.
Questo è quello che si sono chiesti anche Landon Curt Noll, Simon Cooper, Peter Seebach e Leonid A. Broukhis che, vedendo i sorgenti della Shell Bourne e del comando finger distribuiti nella BSD4.2, si posero una domanda: se quelli erano i risultati di ciò che la gente chiamava un ragionevole esercizio di programmazione, cosa si poteva ottenere mettendosi d’impegno per produrre codice che fosse scritto il peggio possibile?

Da questa idea, nel 1984, nasce l’IOCCC (International Obfuscate C Code Contest), che si pone i seguenti obbiettivi e le seguenti regole:

• scrivere un programma in C il più oscuro/offuscato possibile (secondo le regole stabilite);
• evidenziare in modo ironico l’importanza di un bello stile di programmazione;
• stressare i compilatori C con del codice fuori dal comune;
• illustrare le sottigliezze del linguaggio C;

Le regole sono poche, in effetti:

• bisogna creare un programma completo;
• il sorgente dev’essere minore di 3217 byte (nota divertente: guardate quanti Kilobyte sono… ;) ), e eliminando i “whitespace” (spazi, tabulazioni, ritorni a capo) e i delimitatori (“;” e parentesi graffe) esso deve risultare minore di 1536 byte;
• il file di build, il sorgente e l’eseguibile generato devono poter essere read-only; insomma, il programma non dovrà “auto-modificarsi”, o almeno dovrà farlo creando una copia di essi;
• il sorgente deve compilarsi senza problemi su un compilatore ANSI C, a meno che gli eventuali errori non siano parte dei propositi del programma stesso;
• il programma dev’essere un lavoro originale;
• non deve richiedere interazione umana per compilare;
• non deve richiedere privilegi particolari per girare.

Sono stati inviati negli anni i programmi più complessi ed impensabili, che spesso univano alla programmazione l’ASCII art come si vede nel simulatore di volo che apre la pagina.

Fonte [url=http://www.ioccc.org/]IOCCC[/url].
Ndsabas: Gli screenshot sono di alcuni programmi vincitori del 2004, potete trovare tutti i listati vincitori [url=http://www.de.ioccc.org/years.html]qui[/url], happy debugging.