As seen in <
http://www.ozzu.com/ftopic54361.html>:
Can we get some competitions that aren't
graphic based? I mean, I'm pretty good with graphics, but that's only
a small part of what I do. The reason I have been avoiding the
competition forum is that it's pretty much all been graphics. I'd like
to see some code based competitions.
I realize that the beauty of code is secondary to it's functionality,
but the beauty of code is as relative as the beauty of a piece of art,
and the language used to solve a particular problem can be considered
the medium. I really want to participate in the competitions, but I'm
not a photographer. How about something for us ugly people?
Similar mumblings were mumbled in the gargantuan thread.
There are several patterns of coding competitions. In one common pattern, the host specifies a programming language (possibly allowing for use of the some standard library, in the case of languages like C++) and the behavior of the computer program. The winner of the contest is the person who writes the program that solves the program with the shortest program (measured in bytes of code). In a similar version, the winner of the contest is the person who writes the program that solves the problem and runs the fastest.
There are certain problems with these sorts of coding competitions: 'writing the shortest program' is a pretty useless competition, in that nobody learns anything useful from those sorts of competitions. 'Writing the fastest program' is impossible to judge, because speed depends on the particular compiler, processor, and operating system being used.
But ScienceOfSpock's idea (at least I think this was his idea) is great. A competition to write the most 'beautiful' code (as judged by people voting, in the same way that the photography competitions are judged) that solves some particular problem would be good. Good things about this competition:
1. It can let any programming language be used, so that many people can enter.
2. Entries can be used by other people to learn different ways of tackling problems.
3. It exposes people to different programming languages. (I know some people think I have a vested interest in this, considering my previous flames at PHP :->)
4. The problem needed to be solved need not be terribly complicated, so these sorts of competitions would have low barriers of entry.
5. The winner is the person with the 'best' solution, instead of the solution that follows some mildly insane measurement.
6. It would encourage better programming ability. Many questions in the programming forum are along the lines of 'what function in PHP will solve my problem for me?', instead of 'how can I solve my own problem?'.
I think there might be a few difficulties, though. Solutions in some programming languages would automatically be considered ugly, because the programming languages
look ugly. For example, any solutions written in Perl, Forth, or even good old C or C++, may appear ugly while being gems underneath the syntax.
I recommend that the submissions be done in a submission thread, not by secret email to some person (as other forums' contests have been held). This will encourage participation. Some people might borrow ideas from others, but that's the whole point of Ozzu.
If submissions are done in such a thread, I'd like submitting multiple entries to be allowed. I'm reminded of the thread that Rabid Dog linked to at some point in time, at <
http://www.ozzu.com/ftopic36685.html>. Sometimes it's just fun to offer multiple ways of solving the problem.
The question is, who writes the problems?