obfuscated

<programming>

Made unclear, used to describe source code that has been transformed or written to make it as hard as possible to read, usually for fun, as in the Obfuscated C Contest. A japh is a kind of obfuscated Perl program.

The term is not normally used for code that has been transformed for security purposes, e.g. to enforce some kind of licencing mechanism.

Last updated: 2009-05-14

Nearby terms:

Oberon-VOBEXobfuscatedObfuscated C Contestobi-wan error

Try this search on Wikipedia, OneLook, Google

Obfuscated C Contest

<programming>

The International Obfuscated C Code Contest (IOCCC) is an annual contest run since 1984 over Usenet by Landon Curt Noll and friends. The overall winner is whoever produces the most unreadable, creative, and bizarre (but working) C program. Various other prizes are awarded at the judges' whim. C's terse syntax and macro-preprocessor facilities give contestants a lot of maneuvering room. The winning programs often manage to be simultaneously funny, breathtaking works of art and horrible examples of how *not* to code in C.

This relatively short and sweet hello, world program demonstrates obfuscated C:

 /* HELLO WORLD program
  * by Jack Applin and Robert Heckendorn, 1985 */

 main(v,c)char**c;{for(v[c++]="Hello, world!\n)";
 (!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c));
 **c=!c)write(!!*c,*c,!!**c);}

Here's another good one:

 /* Program to compute an approximation of pi
  * by Brian Westley, 1988 */

 #define _ -F<00||--F-OO--;
 int F=00,OO=00;
 main(){F_OO();printf("%1.3f\n",4.*-F/OO/OO);}F_OO()
 {
	    _-_-_-_
       _-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
	_-_-_-_-_-_-_-_
	    _-_-_-_
 }

Note that this program works by computing its own area. For more digits, write a bigger program.

[Jargon File]

Nearby terms:

OBEXobfuscatedObfuscated C Contestobi-wan errorOBJOBJ0

Try this search on Wikipedia, OneLook, Google


Loading