Published on O'Reilly (http://oreilly.com/)
 See this if you're having trouble printing code examples

The Second Annual YAPC

Day 1 | Day 2 | Day 3 | Wrap-up

Thursday at Second Annual YAPC (Yet Another Perl Conference) started and ended strong, with two great talks. Larry Wall opened the day with one of his humorous but penetrating talks relating larger issues in his life to his understanding of the importance of Perl. Damian Conway rocked the conference with a rollicking exposition of the application of quantum mechanics to Perl.

I really can't do justice to Damian's talk. It was too dense, too polished, and too hilarious to be summarized. It was one of those great moments that only the people who directly experienced it will be able to appreciate fully. I will tell you only that, in a little more than an hour, Damian gave a brief history of Quantum physics; related it to computer science; and suggested how it could be implemented in Perl with the addition of only three operators. Okay, since you asked, the operators are *any*, *all*, and *eigenstates*. You had to ask.

Damian's talk was part performance art, part intellectual synthesis, part college lecture, and part Perl Wizardry. It left people gasping from trying to keep up. Find someone who attended the conference; I can't reproduce its effect by reporting.

Larry's talk was typical of the kinds of presentations he makes at these conferences. He related his understanding of Pilgrim's Progress, a book he first read in his youth. Larry's talks don't dwell on the features of Perl or even its futures. He wants the Perl community to understand the philosophy and values behind the development of Perl.

Larry asserted that Christian, the Pilgrim in John Bunyan's book, shared many experiences similar to those faced by Perl programmers. First, Larry said, they need to acknowledge that they've got a problem. They need to seek the advice of their mentors. They need to look beyond the easy answers (the "quick and dirty"), sometimes taking a step back and considering a larger, more general solution that requires more effort.

Then Larry addressed, however obliquely, the controversy and discord that affects some parts of the Perl community. "I see signs of turbulent flow in the Perl culture," he said. Pilgrim's Progress stresses the value of ongoing friendship; Christian needs the help of his lifelong friends to attain his goals, just as Perl programmers rely on each other to use and improve Perl.

Larry's final advice was: "Live your life with a purpose. Life is an open-ended project, like Perl."

There were a number of informative talks throughout the day. Dick Hardt of ActiveState and Mark-Jason Dominus brought us up-to-date on the features of Perl 5.6. The major features include Unicode support and the implementation of fork () on Windows platforms. (Fork will also work in MacPerl.) Other improvements are weak references, 64-bit support, and greatly expanded and improved documentation and diagnostics.

Chris Nandor reported on the status of MacPerl. MacPerl's goal is to reach the same level of functionality as is available on Unix and Windows systems. For this goal to be reached, Apple has to update a POSIX library called Gusi. In the meantime, Nandor announced that MacPerl will soon be part of the Perl distribution.

Nat Torkington gave two thougtful talks. I'm running out of space, so I'll only mention one of them today. He asked a series of interesting questions: Why does Perl lack CORBA support? Where is the Perl equivalent of Beans? Why does Perl XML development lag? Why has Unicode support been so difficult?

Nat believes that Perl hasn't needed to develop these kinds of technologies because (1) They are more complex now than their practical value justifies, and (2) Perl has simpler solutions to the same problems. He makes a good point; Perl development follows the needs of its users, and Perl programmers don't have problems that they can't solve in Perl (that these other technologies would solve, that is).

Damien Conway's talk yesterday made a similar point. Nobody who listened to Damian's talk today could imagine that he would shrink from complexity; but his point about Object Oriented programing in Perl was that it could be simple and easy. Talk of OO programming makes people furrow their brows and get out their computer dictionaries; but in Perl, according to Damian, a programmer needs to follow only three rules, to wit:

That's it: a simple solution that handles the problem without the baggage of more formal languages.

My one concern is that, although this simplicity suits the Perl community, it won't add adherents from people interested in XML and CORBA who are looking for a programming language. The number of Perl users grew exponentially because Web programmers wanted a language that worked well with CGI, and Perl was their choice. If XML catches on, will XML programmers bypass Perl to use other languages with more XML support?

In the post-dinner trivia contest run by the Philadelphia Perl Mongers, the team I was on, the Schrodinger Cats, came in second, aided by judicious use of Chris Nandor's WaveLAN and the Google search service. I won a baseball cap, a nice berry and tan one with a penguin on the crown. In Pittsburgh, that makes people assume I'm a hockey fan, but we know better, don't we?

Once again, I thank my co-correspondent O'Reilly associates, Joe Johnston and Tim Allwine, for their contributions to this report.

--Frank Willison

Visit perl.oreilly.com for a complete list of O'Reilly's Perl books.

Return to: Frankly Speaking

Copyright © 2009 O'Reilly Media, Inc.