X

Programming geeks fight to the finish

Some computer programmers will spend the Labor Day weekend creating software robots for a 72-hour contest.

Paul Festa Staff Writer, CNET News.com
Paul Festa
covers browser development and Web standards.
Paul Festa
2 min read
While the rest of the nation lounges on the beach and bids farewell to summer, some computer programmers will spend the Labor Day weekend creating software robots that will deliver virtual packages while shoving each other into lethal ponds.

The occasion for this creative exercise is the Fifth ICFP Programming Contest, a 72-hour battle announced Friday and ending Monday at noon. Winning robots will square off against each other at the International Conference on Functional Programming held this year in Pittsburgh Oct. 4-6.

Entrants, vying for a $1,000 cash top prize, may use any programming language they wish, but contest organizers are confident that the prevailing robot will be created with a functional programming language.

Functional programming, based on the use of mathematical functions, is one of several different computer language paradigms. More common is the imperative programming paradigm, which includes languages such as C and Java and works by giving step-by-step instructions. Other programming types include logic and object-oriented programming.

"We believe that the functional programming paradigm has a lot of advantages and deserves to be used more widely," said contest organizer Tim Sheard, a professor at contest sponsor the OGI School of Science & Engineering, an Oregon Health & Science University school in Beaverton, Ore.

"We believe it leads to programs that are more robust with fewer errors. The contest is a lighthearted way to make our point."

Functional languages have been well represented in the ICFP winners' circle. Between 1998 and 2001, winners of first, second and third prizes have used Haskell and Erlang, both functional languages; Dylan, an object-oriented language; OCaml, an object-oriented and functional hybrid; and Cilk, a parallel imperative variant of ANSI C.

Entries spiked last year, increasing sixfold from the prior year to 263 entries.

The competing programmers' task is to create a software robot that delivers packages of varying weights. The robots, which drown when pushed into virtual bodies of water, do not necessarily have to be nice to win.

"One way to win is to disable the other robots," Sheard said. "That adds a real elements of difficulty in the programming, and that's part of what we were reaching for."

Software robots, like their hardware counterparts, imitate human behavior in some way. A common example is a search engine spider, which crawls the Web gathering information.

Sheard made no apologies for making contestants work over the Labor Day weekend. He cited the heavily international make-up of past contestant pools--only a minority hail from the United States--as well as two weekends of Jewish holidays that follow Labor Day. Any later than that, and last-minute airfare starts becoming a budgetary issue.

"We'll pay for the winners to come to the conference," Sheard said. "And we wanted to get cheap flights."