IOCCC image by Matt Zucker

The International Obfuscated C Code Contest

2005/chia - Most ambiguous language

Java parody

Author:

To build:

    make

To use:

    ./chia

Judges’ remarks:

Have you had your morning cup of Java? You might want a second cup before parsing this entry. And give your C pre-processor a triple shot as it tries to handle parameters for “stringification”.

Author’s remarks:

Two things inspired this entry. First, there were the C programs which were #define’d to look like Pascal or Visual Basic: the /bin/sh code from V7 Unix (which reportedly was the motivation behind this contest!), the VAL Linker by David Troendle, the 2000/primenum IOCCC entry, … Looking at these programs, I thought, “hmm… if it’s possible to make C code look like some weird cross between Pascal, VB, and COBOL, then how about making C code look like some other language?”

As chance would have it, I was writing some Java code at that time, and one of my net friends was also working on someone else’s Java code. We both hated Java; indeed, I hated Java so much that I was tired of hating it. Then I remembered my earlier idea: “Of course! Why not write C code that looks like Java? And poke fun at Java while I’m at it? All ye behold, as I turn anger into action! PH34R MII!!!!!!!” And so, this entry was born. :-)

Besides carrying a revolutionary message in the comments, this entry also draws a spiffy little Koch snowflake fractal on the screen, with the help of ANSI escape sequences.

The code requires a preprocessor that can stomach all kinds of nonsense that are passed as parameters to macros for stringification. GNU cpp handles such things just fine, but certain broken preprocessors may decide to freak out when they see macro parameters that don’t look like C tokens.

Inventory for 2005/chia

Primary files

Secondary files


Jump to: top