I just had a great idea for a fun programming competition this weekend: The Rube Goldberg Programming Challenge! You would be given a simple task, like "Hello World", and then your task would be to solve that task in the most complex way possible.
Points could be given for:
- Each pattern implemented (Need at least one singleton in there!)
- Making unnecessary use of a database.
- Incorporating a web service.
- Extra function calls.
- Classes, lots of classes.
- Weaving some threads in there.
- Extra file I/O with temporary files everywhere.
- XML, it has got to be in XML!
- Using multiple languages.
- Using multiple platforms or frameworks!
- Customized memory management!
- Creating an interpreter or simulator that is required for the final output!
- Recreating all the standard libraries, classes and components!
- Encoding and decoding the data in silly ways.
- Not using any native types.
- Everything (and I do mean everything) is an object!
- Self modifying code!
- Outputting customized source code and then creating a compiler to create a module to complete a step.
- Ratio of pertinent comments to source code greater then 2:1.
What else can you think of? If you've ever had to maintain anyone else's code you have probably seen a lot of crazy extra steps that other programmers go though. You could always check out Daily WTF for inspiration. Who would be interested in such a competition?
Subject Tags: [Programming] [Software] [Contest] [Challenge] [Rube Goldberg] [Patterns] [Fun] [Databases] [Web Services] [XML]
3 comments:
Heh. I did that in college. I needed a credit and signed up for a programming class, figuring it would be easy. Our first assignment was to display our initials using big block letters comprised of the school's initials -- basically just a bunch of WriteLns.
I wrote a program which used encoded fonts to render any combination of initials on the screen. The printout was about seven pages long when I turned it in, which got me a quizzical look from the teacher. The next time we met she handed it back, said, "This pretty much is the whole class," and moved me out of the class.
That us funny Craig! Made me smile!
Hmmm... That's a hard competition to score, because what's cool about Rube Goldberg things is the creative aspect, which by definition is hard to quantify.
Good Rube Goldbergs may depend more on unusual side-effects than on tons of unnecessary libraries, etc.
Post a Comment