IOCCC Winners Announced
Arachn1d writes "The IOCCC has finally announced the winners of the 2004 contest.
With winners this year including a mini-OS and a ray-tracer, the submissions should be interesting indeed - if you can make sense of them. According to the page, the actual code for the winners should be up mid-october."
With winners this year including a mini-OS and a ray-tracer, the submissions should be interesting indeed - if you can make sense of them. According to the page, the actual code for the winners should be up mid-october."
When there was no contest at all. "Yeah, everyone send in your entries. Oh, nevermind, maybe next year."
Of course it looks like those extra 2 years paid off. This year's winners look very interesting.
I always though this contest was funny, but in a dark and sinister way. I can't tell you how many times I've looked at someone else's code and spent hours trying to figure it out. In the real world, it's not funny.
I'm amazed at how someone can acheive such obfuscated code without really trying.
Not only that, I don't consider the ability to churn out unreadable code a good trait in a programmer
To be able to make something like that, you need to be able to understand the language well, which is a good thing.
Whoa there, turn up the humour and creativity-appreciation knobs a couple of notches please. I don't think anyone likes to see obfuscated code in production environments, but if you haven't read any IOCCC entries, you should. They can be real eye-openers when it comes to realizing what you can do with the C language (and preprocessor) when put in the right hands. Plus, it's just plain fun! :)
main(O){10<putchar(4^--O?77-(15&5128 >>4*O):10)&&main(2+O);}
As I understand it, this contest is basically "who can turn out the shittiest code that still runs?"
(1) It's for fun.
(2) It's a famous tradition.
(3) There is a great elegance in the entries which win; they are far from shitty.
(4) Chill out.
Depending on where I'm applying, I would put winning the IOCCC on my resume. If you are looking at an employer who would know what it is, it shows that you have more knowledge of how computers and (at least) the C programming language work than most people. It doesn't show that you always turn out crappy code - those in the know also know that the IOCCC got its start with a bunch of skilled programmers ridiculing people who turn out crappy code.
If they don't know, hey, it says you won a fairly well-known programming contenst.
Leave the obfuscation to the marketing department. We have one who actually listed double-ROT13 encryption as a "feature" of our product. Ok, he asked me what encryption we supported by default, and I told him double-ROT13 not realizing just how dense he was. The story gets better! The marketing shpiel he put together was going to the IT security folks at the NSA! One of them called me up, in tears from laughing. He asked if I could implement quad-ROT13. I told him I could implement 2^n-ROT13, iff n>0.
Actually, I think you're the one who's dense, when you think someone from marketing who asks you a straightforward question about your product is supposed to understand a geek-joke.
It's not his job to check or even understand all the technical info. It's (presumably) yours.
Be wary of any facts that confirm your opinion.
if (year mod 4) = 0
then
days_in_feb
endif
or something like that, it has been 20+ years since I last wrote Pascal, I'm not so familiar with the syntax anymore. Or try COBOL for the true detailed syntax you seem to adore. But one of the many advantages of C that make it so great is the concise syntax. After reading a few millions of lines of code, one gets tired from so much redundancy. If you really have experience with C, things like treating integers as boolean have become second nature.
I suggest that you trust your programmers more. The fact that you have problems understanding C code means that you should concentrate on management, rather than trying to micro-manage programmers.
Anyone can write unreadable code.
It takes an artist to write code that is both unreadable and beautiful at the same time.
If your entry isn't beautiful, you're just a bad programmer.
[
Those suckers never even got their foot in the door. I don't care how smart they think they are, we have to get products out fast, and realistically be able to maintain/upgrade them 10+ years or so.
At a couple of the companies I've been with we'd have after-hours informal little "Who can optimize this code the most" contests and they were amazingly instructive. They force you to think about solutions in new and creative ways, and to really understand an algorithm or CPU at a far deeper level than a simple straightforward implementation.
And while those obscenely optimized implementations may never get near the shipping product, you always walk away with a far far better grasp of how the shipping code really does work. (And yes, we've discovered bugs by inspection... because the little optimization contest had us questioning assumptions that the shipping code relied upon)
--Rob
Of course to be fair, I don't know of any language that's readable once you strip out all the end-of-line characters...