現在,Perlユーザーは2極化が進んでいます。初心者はいまだに「CGIが使えさえすればいい」という段階で満足しています。一方で,Perlハッカーは独自の世界を構築し,あまり初心者を省みません。そこでこの特集では,初心者層に絶大な影響力を持つ見上巖氏(ウェブクリエイト代表取締役,KENT-WEBを運営するKENT氏として有名)と,Perlのハッカー集団であるShibuya Perl Mongers(Shibuya.pm)の新リーダー,竹迫良範氏(サイボウズ・ラボ)に対談をお願いしました(編集部)。

まずは,Perlとの出会いから教えていただけるでしょうか。

KENT-WEB 見上巖氏
KENT-WEB 見上巖氏

見上 私がPerlに出会ったのはちょうど10年ほど前,1996~97年くらいですね。そのころはコンピュータ・メーカーの営業で,まだプログラミングはできませんでした。自分のWebページにフリーのCGIの掲示板を設置しようとしたのですが,うまくいかない。動かすのに3日かかりました。はじめて表示されたときはうれしかった。

 そのうれしかった気持ちから「なんとかPerlのCGIを改造できるようになりたい」と我流でのめり込んでいきました。そして,改造の仕方をWebページ(KENT-WEB)に載せるようになったのです。自分でCGIを作れるようになったのはそれから1年半くらいあと。プログラミングは仕事ではなく完全に趣味です。今でも素人くさいと思っています。

竹迫 GoogleでPerlで検索すると,KENTさんのPerl入門のページがトップに来るんですよ。普通の人がはじめてPerlのCGIを触る場合,言語でつまづくんじゃなくて,それ以前の問題,アップロードの仕方とかパーミションとか改行コードとかレンタル・サーバーのPerlのパスとか,そんなところではまると思うんです。KENTさんはそれをきちんと書いている。分厚いPerlの解説書にはそんなことは書いてません。本当の初心者とのギャップがある。そこをKENTさんは橋渡ししていると思います。

竹迫さんはどのようにしてPerlに出会ったのですか?

Shibuya.pm 竹迫良範氏
Shibuya.pm 竹迫良範氏

竹迫 私が大学に入ったのは1995年です。そのときに,はじめてUNIXのマシンに触ってインターネットの世界を体験しました。大学の授業ではWebサイトを作ったりしていました。

 Perlに触るきっかけになったのは,大学3年生のときに一身上の都合で休学してアルバイトをしたことです。ある会社でWebサイトを一から作れる人を探していました。97年くらいなので,専用線を引いてWebページを作るのは誰でもやっていたわけではありません。なので,その会社で働くことになったのです。

 大学ではUNIXのサーバーを使っていましたが,その会社のサーバーはWindowsでした。このギャップを埋められるのがPerlだったのです。UNIXで書いたプログラムがWindowsでも動く。これがPerlを使い始めたきっかけです。それ以来,今でもPerlを使っています。

Perlには初心者でも手早く書けてしまうという魅力があります。一方で,use strict;やモジュールを使うような今風のきちんとした書き方もある。その間のどこに最適解があるんでしょう?

竹迫 プログラムを書いていると,変数の打ち間違いは結構多いものです。use strict;するとそれを教えてくれる,というのが使い始めたきっかけです。Perlを勉強して2年くらい経ったころですね。Perlを始めた最初のうちは,自分が制御できる範囲だけだったので,書き方をそれほど意識しなくても大丈夫でした。しかし,職業プログラミングで大規模なソフトウエアを作るとなると,それでは対応できません。プログラミングのスタイルを変えるときは悩みましたが,得られたものは大きかったです。

見上 きちんとした書き方が重要だというのはよくわかります。でも,今ではさすがに少なくなりましたが,Perl5が使えないホスティング・サービスもある。広く一般に配布するCGIだと様々な環境で使われる可能性があるので,結局,(use strict;やモジュールを使えない)Perl4に頼らざるを得ないんです。

Perlでは初心者とハッカーとの2極化が進んでいます。このギャップをどうしたら埋められるのでしょうか。

KENT-WEB 見上氏 & Shibuya.pm 竹迫氏
KENT-WEB 見上氏 & Shibuya.pm 竹迫氏

竹迫 Perlはそうしたものをすべて認め合う文化があります。どんな人がいてもいいんです。

見上 そうそう,私も同じことを思いました。初心者は初心者なりに書きなさいということです。Perlはそれを全部あたたかく受け入れます。「下手なコードを書いたからといって非難する人はいない。それがPerlコミュニティだ」とPerl開発者のLarry Wallも繰り返し言っています。

竹迫 そうですね。TMTOWTDIという言葉が示すように,すべてを認めるのがPerlの文化です。コーディング標準などできちきちにやっていくJavaの文化とは対極にあります。

 たしかに他人と協調して仕事する場合はコーディング・スタイルを揃えることは重要です。ただ,Perlにはいろんな使い方がある。ほかの人に見せないで自分だけで使うものもあります。C言語は高級アセンブラだとよくいわれますが,Perlは高級シェルだと思うんですよ。サーバーの保守や運用に使うプログラムは,他人に見せる必要はないので適当に短く書けばいい。要は適材適所です。

見上 私から一つ質問していいですか? Shibuya Perl Mongersはどういう活動をしているんですか?

竹迫 テクニカルトークという発表会というかプレゼン大会のようなイベントを年に3回,開催しています。これまでに10回くらい開催しました。そこで「こういう新しいモジュールを米国の開発者が作った」といった情報交換をしています。

 Perl Mongersはもともとニューヨークが発祥で,世界各国にあります。従来からあるTokyo Perl Mongersは飲み会がメインでしたが,それに満足できなかった宮川達彦さんが「コードを語り合える人がほしい」ということで始めたのがShibuya Perl Mongersです。会社の枠を超えて技術交流を行っています。最初のスタートアップ・セミナーの参加者は30人ほどでしたが,現在のテクニカルトークは120人の会場の参加申し込みが告知からたった1時間で埋まってしまうほどの人気です。それが悩みでもあるのですが。

 また,2006年3月には300人規模の会場で「YAPC::Asia 2006 Tokyo」という有料のイベントも開催しました。このときはLarry Wallも来日したんですよ。私はこのノート・パソコンに彼の直筆でサインしてもらいました。

見上 そうなんですか! Larry Wallに会いたかったなあ。

竹迫 YAPC::Asiaは2007年4月にも開催します(編集注:すでに終了しています)。Larryは日本好きなのでYAPCを口実に日本に来るんです。日本語も片言でしゃべりますよ。そのほかにも世界各国からいろんな人が来ます。KENTさんにはご招待のメールをお送りします。ぜひ,いらしてください。