Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!sdd.hp.com!think.com!barmar From: barmar@think.com (Barry Margolin) Newsgroups: comp.org.acm Subject: Re: The Programming Contest IS A GAME!!! Message-ID: <1991May9.222947.14465@Think.COM> Date: 9 May 91 22:29:47 GMT References: <91120.075856TAINT021@ysub.ysu.edu> <9105020134.AA29577@enuxha.eas.asu.edu> <1991May9.004140.1116@tc.fluke.COM> Sender: news@Think.COM Reply-To: barmar@think.com Organization: Thinking Machines Corporation, Cambridge MA, USA Lines: 46 In article <1991May9.004140.1116@tc.fluke.COM> kurt@tc.fluke.COM (Kurt Guntheroth) writes: >I can't believe all this about the programming contest. How is >football or basketball like real life. It's a CONTEST. Y'know, a GAME? An >artifical (and in fact unnatural) set of constraints placed on the >contestants for the purpose of making the contest lively and exciting? The Obfuscated C Code Contest is a game, run for fun. The ACM exists to further the computer industry, and I think many of us assume that the ACM programming contests are intended to be related to the education of future computer professionals. It's possible to design contests that are both fun and relevant. At MIT, there's a design class in the Mech.Eng. department that has a contest each term, where students are given a collection of random objects (strings, spools, a motor, etc.) and must build a device that will participate in a head-to-head competition against a classmate's device; the real-world relevance of this is to the design of devices with constraints on the raw materials. Many schools have "egg-dropping" contests, which are similar. In both cases, the particular problem is unnatural (no egg distributors seem to be replacing their cartons), but the skills they exercise are precisely those which are used in the real world. The programming contests, however, do not exercise many of the skills that are considered important to learn. In contrast, I think they test the talents that are somewhat inborn, and which caused us to gravitate towards the programming field, rather than that skills which must be learned in order to apply these talents best in the real world. There are many extremely prolific programmers out there who aren't able to work effectively as part of a team, whose code is virtually unreadable, or who are very sloppy about error handling, etc. There was a time when the hallmark of a great programmer was his ability to produce lots of programs or to squeeze every last millisecond off the program's runtime. I'd like to hope that we've progressed beyond this, but the programming contests still reward these same things. Of course, one problem the contest designers have, and which is shared by industry, is that objective criteria are necessary to reward the "best" programmers. While many of us have progressed beyond the above measures of good programming, we've had a hard time coming up with objective ways to measure the kinds of qualities that we do want out of programs and programmers. -- Barry Margolin, Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar