The Perl Journal July 2003
If there's one thing that sets Perl programmers apart, it's a sense of community. Whatever ups and downs the language has experienced, the single constant to date in the history of Perl has been the willingness of folks like you to be part of a teamto collaborate on projects, and just generally help each other out. For the most part, credit for this goes to Larry Wall. He set the tone of openness and inclusion that has pushed Perl in the right direction. But it's more than that.
It's also partly that Perl is not just a working language, but a playing language, too. People use this language for fun, not just for getting the job done. (Of course, if we can have fun getting the job done...) This brings Perl people together in a way that mere necessity doesn't. It's the sort of sentiment that leads to gatherings like the Perl Whirl (see our special report on page 2), which embodies this Perl-ish mixing of business and pleasure (not to mention pushing the bounds of avant-garde fashion). And then there are the Perl user groups scattered all over the world, made up of people just as likely to come together for pizza and beer as for solving programming problems.
Interestingly, Perl can be not just a reason for coming together as a community, but can specifically enable it. Take, for instance, the CGI::Wiki module that Kate Pugh exposes for you this month; see her article on page 3. It represents a tremendously flexible way to build Wikis and other virtually self-maintaining collaborative communities on the Web. For a somewhat more lightweight way to build Wikis, you should also check out Brian Ingerson's CGI:Kwiki module. These modules are two excellent approaches to the same problem. And, true to Perl form, not only do these modules allow a convenient and efficient way to encourage collaboration, but building sites with them is a great deal of fun.
Of course, all collaboration brings conflict. No one is claiming that peace and harmony reign in the kingdom of Perl. The differences of opinion over the directions that Perl 6 should take are evidence enough that we don't all think with one mind. And we definitely all have opinions about each others' code, and some of us aren't shy about expressing them. But it's probably harder in Perl than in any other language to nail down what's "right" and what's "wrong." In Perl, there's only "works" and "doesn't work." And that's by design.
The Perl mantra "There's More Than One Way To Do It" defines more than just a language principle. It says something about coexistence, about including a plurality of ideas in the machinery of a single technology. Our minds don't all work the same waywhy should our programming language make us all solve problems the same way? Such inclusiveness is a habit in Perl circles, and it leads to the kind of community that we've all come to depend on. In such a polarized world, it's nice to know we can all be part of this little tribe.
Kevin Carlson
Executive Editor
The Perl Journal