November 16, 2011, 12:55 PM — The creators behind the long-running Internet contest to write bizarre and unnecessarily complex C programming code, called the International Obfuscated C Code Contest (IOCCC), have resurrected their challenge after being on hiatus for five years.
"You can never say all the tricks have been done. Someone always shows you something you didn't know," said Landon Curt Noll, one of the founders of IOCCC. "Every year you think 'Gee, I didn't think you could do that.'"
The goal of the contest, as in year's past, is to produce a batch of mind-bogglingly difficult-to-understand code, written in the C programming language. The group will begin accepting submissions for this year's contest, starting Dec. 1. Deadline for submissions is Jan. 12, 2012.
Perhaps ironically, the intent behind the contest is to stress to programmers the importance of good programming style. "One of the things that the contest emphasizes is that having a working program is not enough," Noll said. "The code has to be maintainable and adaptable." This means that the code must be easily understandable by someone other than the author, so it can be easily updated and expanded upon by others.
The contest also produces some secondary benefits as well, namely exposing both structural quirks of the C language and weaknesses of the standard compilers. Winning programs have "pushed the boundaries of the C language," Noll said. The Free Software Foundation, for instance, has used entries for regression testing its C compiler.
Noll and Larry Bassel conceived of this contest in 1984. They were both working at National Semiconductor at the time, and had commiserated with each other about the pitiful state of the code to some Unix programs they were updating. Both had complained that not only was the "code was poorly written, but it seemed like someone had put a lot of effort into writing bad code," Noll said.
The IOCCC is now the oldest still-running Internet-based contest, Noll said. This year will be the IOCCC's 20th iteration. The keepers of the contest had taken a break to revamp the website so it can accept admissions online, an upgrade that took five years.
The contest is not necessarily looking for badly written code. In fact, writing truly obfuscated code requires a "deep understanding of the language," Noll said, noting that winners in years past have actually been offered jobs (presumably to write non-obsfucated code) based on the expertise they demonstrated for the contest. It takes a good programmer to write bad code, Noll said.
Rather, the judges are looking for code written in such a way that another programmer would have extreme difficulty figuring out what the program actually does.