Real Time (as in Live) Programming Competition
KO writes "On Wednesday the 24th of May at Loop Bar in Melbourne (Australia) fourteen teams of programmers gathered for the first ESCI LiveCoda real-time programming competition. Possibly the first performance based real-time programming competition. Before a packed night club with live music provided by Simulus and the Vs Chorus Crew, each team had just ten minutes to write a program which could correct a corrupted image.""
Although each member of the team was placed at a separate computer, each computer shared the program source allowing the team to collaborate on a single file in real-time. The developing source code was then projected onto Loop's twenty-three foot screen along with the compilation errors and the current state of the corrupted image.
The evening started furiously with Booming Egg and Machinemongers taking the stage for some extreme Java action. However, a bug in the competition code resulted in only the first 512 bytes of their program being compiled. The organizer loaded up the code, made a patch recompiled and everything was ready to go.
The Toasted Monkeys then took over with C prowess and a team strategy which would lead them to victory in 5 minutes and 40 seconds. The Python crew Hot Coffee tried to match that time but we unsuccessful. Similarly, unalias -a started strong but a screen of C++ errors seemed to slow down their progress. A second Python crew, CodeMonkeys, also didn't deliver the time required to get them into first place.
Walking on to toast their freshly prepared martini's, Martinis All Round loaded up Awk and were set. Though with a finish time of 8 minutes and 40 seconds they only managed second place. The Java Speed Players also did not threaten pole position.
The C hackers 17 Hours Left finished in 7 minutes and 30 seconds taking second position before the Unix Tools stepped in for the real upset of the evening. In just 3 minutes 45 they had a C program which seemed to correct an image of Stonehenge with a blue sky. The crowd applauded but unfortunately the sky was supposed to be a sunset red. Within 2 minutes and 15 seconds they had fixed the problem, but not fast enough to take first place.
The C group Last Minute did not post a faster time and the Awk Team Cthulu proved that alcohol was not a performance enhancing drug in this context. A fact supported by them printing, "we are so screwed" to standard error.
LiveCoda demonstrated a novel use of computers for entertainment. In doing so it challenged programming to transform from an isolated activity to a collaborative performance art. Furthermore, it challenged the night club environment to accommodate a more intellectual activity. The success of LiveCoda in both cases illustrates a strong potential for programming to improve audience understanding and participation in new forms of digital art.
Although each member of the team was placed at a separate computer, each computer shared the program source allowing the team to collaborate on a single file in real-time. The developing source code was then projected onto Loop's twenty-three foot screen along with the compilation errors and the current state of the corrupted image.
The evening started furiously with Booming Egg and Machinemongers taking the stage for some extreme Java action. However, a bug in the competition code resulted in only the first 512 bytes of their program being compiled. The organizer loaded up the code, made a patch recompiled and everything was ready to go.
The Toasted Monkeys then took over with C prowess and a team strategy which would lead them to victory in 5 minutes and 40 seconds. The Python crew Hot Coffee tried to match that time but we unsuccessful. Similarly, unalias -a started strong but a screen of C++ errors seemed to slow down their progress. A second Python crew, CodeMonkeys, also didn't deliver the time required to get them into first place.
Walking on to toast their freshly prepared martini's, Martinis All Round loaded up Awk and were set. Though with a finish time of 8 minutes and 40 seconds they only managed second place. The Java Speed Players also did not threaten pole position.
The C hackers 17 Hours Left finished in 7 minutes and 30 seconds taking second position before the Unix Tools stepped in for the real upset of the evening. In just 3 minutes 45 they had a C program which seemed to correct an image of Stonehenge with a blue sky. The crowd applauded but unfortunately the sky was supposed to be a sunset red. Within 2 minutes and 15 seconds they had fixed the problem, but not fast enough to take first place.
The C group Last Minute did not post a faster time and the Awk Team Cthulu proved that alcohol was not a performance enhancing drug in this context. A fact supported by them printing, "we are so screwed" to standard error.
LiveCoda demonstrated a novel use of computers for entertainment. In doing so it challenged programming to transform from an isolated activity to a collaborative performance art. Furthermore, it challenged the night club environment to accommodate a more intellectual activity. The success of LiveCoda in both cases illustrates a strong potential for programming to improve audience understanding and participation in new forms of digital art.
yup, and all we need to build a sphinx are a mountain, a chisel and a hammer
"..."
The ACM programming contest has been around for a while although not so much at strip clubs.
No all C proves here that it is much EASIER to develop a small program very quickly. Once you reach a larger scale, the beauty of a well-defined OO language (of course, having good developers help in all cases) will shine through again and again. Oh yeah, C++ doesn't count, as (well for me personally) I find it an abomination of C. ;)
I was doing "live" programming competitions in high school. What exactly is special about this again? That they just happened to have a fancy setup and a live audience?
The majority of the programming competitions I participated in had multiple problems and, in the case of ties, whichever team produced their answers first came in ahead. At the easier contest, the majority of the problems could be solved inside 10 minutes too.
So can someone explain to me what was so interesting here?
All that's needed is core C, some good-quality libraries (it's debatable whether the standard C library fits that criterion) and *some extremely good programmers*.
If you have not-quite-so-hot programmers, their C code might turn out to suck. At least in Lisp/Python/ML/whatever they would have a few more safety wheels and less need to reinvent the wheel on data structures (hmm, mixed metaphor, never mind). And your super-cool C programmer would probably also be very productive (perhaps even better) in a high-level language, if you could convince him to learn it.
-- Ed Avis ed@membled.com
Funny how real life measurements don't show that OOP has cause a significant increase in developer productivity.
.h. Any data in that functionality is in static file variables or instance structs. The only real difference is you have to call constructors and destructors by hand. A minor change, as you usually have to go "new X()" anyway.
In reality- C is object oriented in all the ways that matter. The main benefit of OOP isn't inheretance (which most researchers are now shying away from, as it really doesn't provide the benefits it was touted to have. Most research now says to favor composition over inheretance). Its encapsulation. Good C code has been written like that for ages- break different pieces of functionality into different files. Provide an interface to that functionality in a
I still have more fans than freaks. WTF is wrong with you people?
Or the C programmers can download some libraries and not need ot reinvent the wheel either. And probably have better wheels to boot- the problem with massive standard libraries is that:
1)They're too big, too interconnected, and tend to be overdesigned
2)People aren't willing to fix #1 because "its the standard" so they stick with it even if it sucks. Whereas a language without a standard, someone will immediately say it sucks and write their own.
Having coded in Python, ML, C++, Java, C, among others- I'm at least 5 times more effective in C, just because of its simplicity. I don't have the compiler making wierd choices for me. I don't have to worry about exceptions (which are a blight on programming and promote bad error handling). I don't have my program slow down by a factor of 4 because it decides to store integers as strings (I'm looking at you Python). I don't waste time debugging and maintaining overly complex designs based on 7 levels of inheretance, 3 of which don't do anything. Like pretty much everything in life, simpler is better. The "high level features" of Python, ML, etc tend to slow programmers down and create maintenance nightmares, not improve productivity.
I still have more fans than freaks. WTF is wrong with you people?
How is this different from the high school programming competition I participated in? 30 teams in the university's student union, given up to 3 hours to finish 7 programs (and in the advanced division, the 5th through 7th programs are much harder than the sample problems on the website). If you submit something and get it wrong, they don't tell you why. Even if it gives the right results on your test data. If you submit something and get it right, you get a colored balloon tied to your table - so while you're in the midst of programming and finding a obscure error under time pressure, you can see the other teams getting balloons.
So what's special about this "real time" competition other than the silly names and the nightclub?
"Sebastian you're in a mess. They called you King of all the Hipsters, is it true or are you still the Queen?" -- B