Larry Wall, the father of Perl, has observed that the three virtues of a programmer are laziness, impatience, and hubris. Laziness has been explained as doing more with less. A variation of that is doing the same with less. For quite a while the newsgroup comp.lang.perl.misc has had threads where each poster was trying to solve a basic problem with shorter code than the previous post. This type of coding competition was named Perl Golf by Greg Bacon because in both Perl and physical golf the goal is to finish with the fewest (key)strokes.
Now the Perl Golf Committee (led by Uri, who conceived the idea) has been hard at work organizing a Perl Golf Tournament for the 4th Perl Conference in Monterey this July.
The Perl Golf Apocalypse (PGA) is for 10 teams, each comprised of up to 3 Perl hackers. Each team will be given its own computer to use and will to try to solve a set of simple problems by writing a short piece of Perl code. Each team must submit its code, which will then be tested and compared to the answers from the other teams. Each problem (or hole as we call them) will be given to all the teams at the same time and will have a time limit (about 5-7 minutes, depending on the hole). There will be 9 holes in all and after 4 of them the 5 lowest scoring teams will be cut (just like in real golf tournaments).
There are three ways to score points on a hole.
- First, if the code submitted by a team correctly solves the problem, 1 point is awarded.
- Second, the correct answer with the fewest keystrokes is awarded 6 points with the next two runners up getting 5 and 4 points each.
- Third, the correct answer which was submitted the earliest, is awarded 3 points with the next two runners up getting 2 and 1 points each.
So a team can earn a maximum of 10 points on one hole. It is important to note that the execution speed of the code is not a factor in scoring.
The holes will be judged by a Perl script created by us. It will check the correctness of all the submissions, rank them by the shortest code and also rank them by the timestamps on the submitted answer files. Then the script will award points and keep track of scores for each team. Another script will be used by the commentators to display the current point totals for the teams, the scoring for a given hole and the actual code submitted by the teams.
After all the holes are finished, the teams will be ranked by score, and from highest to lowest, they will be allowed to choose their prizes. The prize list includes computers, refrigerators stuffed with booty, cruise discounts, cdroms, books, clothing, etc. Everyone who enters the tournament is guaranteed a prize.
Our two guests, Chip Salzenberg and Chris Nandor will provide an entertaining commentary on the proceedings.
Send your registration request to email@example.com with this information:
Organization (if any) Team Name Member Count Real name and email for each team member If you are a single entrant, do you want us to put you on a team? Optionally, tell us your level of perl experience
You can also visit the Perl Golf page at http://www.sysarch.com/perl/golf/ which has the PGA rules and invitation, the prize and sponsor list, a real golfing thread from c.l.p.misc, and more.
The Perl Golf Apocalypse Team