IOCCC: concours international du code C le plus obscur

Voir le sujet précédent Voir le sujet suivant Aller en bas

IOCCC: concours international du code C le plus obscur

Message par nabiL le Jeu 1 Nov - 10:52

Récréation
Ami lecteur, si vous m'avez suivi jusqu'au bout de ce chapitre indigeste, vous méritez un divertissement.

Tous les ans, est organisé sur Internet le concours international du code C le plus obscur (International Obfuscated C Code Competition, IOCCC en abrégé). Le but est de produire un programme qui se compile et s'exécute sans erreur, dont le source est volontairement le plus obscur possible (ce qui est facile), mais qui est > à un titre ou à un autre. C'est sur ce dernier point que doit s'exercer la créativité des participants. Tous les ans, les meilleures contributions sont de véritables joyaux et sont librement accessibles via l' URL : ftp://ftp.uu.net/pub/ioccc.

Nous présentons ci-dessous la contribution de Brian Westley pour l'année 1990. Son programme a ceci d'extraordinaire que le source C peut se lire comme un texte en > : il s'agit d'une conversation épistolaire entre un amoureux et sa belle (rétive, hélas pour lui). Il y a quelques petites licences prises par rapport à du vrai anglais : 1s est pris comme une approximation du mot anglais is, 1l est pris comme approximation de ll (dans I'll get a break) et des signes cabalistiques sont introduits entre les mots, mais c'est parfaitement lisible.

Il y a aussi un problème avec le langage C : le compilateur utilisé en 1990 par B. Westley n'était pas ANSI et acceptait le suffixe s derrière une constante entière pour lui donner le type short int. Si on transforme les 1s en 1, le programme se compile et s'exécute sans erreur. L'exécutable est un programme ... d'effeuillage de la marguerite ! Il faut lui passer en paramètre un nombre sensé être le nombre de pétales de la marguerite, et le programme va > : love me, love me not, love me, love me not etc. 1.8 un nombre de fois égal au nombre de pétales. Voici le texte du programme :

char*lie;

double time, me= !0XFACE,
not; int rested, get, out;
main(ly, die) char ly, **die ;{

signed char lotte,

dear; (char)lotte--;
for(get= !me;; not){
1 - out & out ;lie;{
char lotte, my= dear,
**let= !!me *!not+ ++die;

(char*)(lie=

"The gloves are OFF this time, I detest you, snot\n\0sed GEEK!");

do {not= *lie++ & 0xF00L* !me;
#define love (char*)lie -
love 1s *!(not= atoi(let
[get -me?

(char)lotte-

(char)lotte: my- *love -
'I' - *love - 'U' -
'I' - (long) - 4 - 'U' ])- !!
(time =out= 'a'));} while( my - dear
&& 'I'-1l -get- 'a'); break;}}

(char)*lie++;

(char)*lie++, (char)*lie++; hell:0, (char)*lie;
get *out* (short)ly -0-'R'- get- 'a'^rested;
do {auto*eroticism,
that; puts(*( out
- 'c'
-('P'-'S') +die+ -2 ));}while(!"you're at it");

for (*((char*)&lotte)^=
(char)lotte; (love ly) [(char)++lotte+
!!0xBABE];){ if ('I' -lie[ 2 +(char)lotte]){ 'I'-1l ***die; }
else{ if ('I' * get *out* ('I'-1l **die[ 2 ])) *((char*)&lotte) -=
'4' - ('I'-1l); not; for(get=!

get; !out; (char)*lie & 0xD0- !not) return!!
(char)lotte;}

(char)lotte;
do{ not* putchar(lie [out
*!not* !!me +(char)lotte]);
not; for(;!'a';);}while(

love (char*)lie);{

register this; switch( (char)lie
[(char)lotte] -1s *!out) {
char*les, get= 0xFF, my; case' ':
*((char*)&lotte) += 15; !not +(char)*lie*'s';
this +1s+ not; default: 0xF +(char*)lie;}}}
get - !out;
if (not--)
goto hell;

exit( (char)lotte);}
Nabil - tunis
خير الناس أنفعهم للناس

nabiL
Admin
Admin

Sexe:Masculin
Messages : 1908
Inscrit le : 19 Mar 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: IOCCC: concours international du code C le plus obscur

Message par informix le Sam 3 Nov - 22:14

TROP ORIGINAL et SPECIAL COMME CONCOURS!
Si on lit le code source, on dirait c'est un récit écrit en anglais.
Un récit qui a un sens.
Mais, c pa évident d'écrire un code pareil.

a+
informix, Ecole d'ingénieurs
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.

informix
Membre fondamental
Membre fondamental

Messages : 350
Inscrit le : 19 Mar 2007

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: IOCCC: concours international du code C le plus obscur

Message par methodiX le Sam 3 Nov - 22:40

je n'arrive pas à comprendre une instruction, bienqu'il soit correct comme code en C.
Sami - Methodix, tunis
Le génie de Newton a consisté à dire que la lune tombe alors que tout le monde voit bien qu'elle ne tombe pas.
(Paul Valéry)

methodiX
Admin
Admin

Sexe:Masculin
Messages : 811
Inscrit le : 22 Mar 2007
Localisation : marsa - IPEST

Feuille de personnage
Capacité linguistique:
1000/1000  (1000/1000)

Revenir en haut Aller en bas

Re: IOCCC: concours international du code C le plus obscur

Message par manianis le Dim 4 Nov - 21:46

Sans commentaires pour le code ci-dessus.

manianis
Admin
Admin

Sexe:Masculin
Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Re: IOCCC: concours international du code C le plus obscur

Message par medch le Dim 11 Nov - 19:07

slt
pour faire un expose g besoin de savoir les generations d 1 ordinateur et plus preseisamenet la 1ere
merci d avence

medch
Nouveau membre
Nouveau membre

Messages : 16
Inscrit le : 28 Oct 2007
Localisation : tunis

Revenir en haut Aller en bas

Re: IOCCC: concours international du code C le plus obscur

Message par nabiL le Dim 11 Nov - 19:38

medch a écrit:slt
pour faire un expose g besoin de savoir les generations d 1 ordinateur et plus preseisamenet la 1ere
merci d avence


Ton message va être déplacé vers le lien suivant: Histoire des ordinateurs


@+
Nabil - tunis
خير الناس أنفعهم للناس

nabiL
Admin
Admin

Sexe:Masculin
Messages : 1908
Inscrit le : 19 Mar 2007
Localisation : Tunisie

Feuille de personnage
Capacité linguistique:
999/1000  (999/1000)

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum