みなさんはじめまして。深沢千尋と申します。今日からこのスペースで「かんたんPerl倶楽部」というブログを開設します。
 と、言っても、みなさんもしかして技術評論社で発行してくださった小著『かんたんPerl』に載せていただいた広告を見てこのブログをごらんになっているのかもしれません。その場合はご愛読ありがとうございます。
 もし、まだ小著を読んでくださっていない場合も、なるべくこのブログだけ読んでも面白いように書きますので、お読みくだされば幸いです。で、万一本の方が気になってきた場合は、どうかお読みいただけると幸甚です。
 『かんたんPerl』は、ゆるふわなプログラミング言語Perlを使って、プログラミングの何たるかをゼロから解説する入門書です。1999年に出た『すぐわかるPerl』の実質上の後継にあたり、2008年に出た『すぐわかるオブジェクト指向Perl』を読む前に読む本です。

 で、ここでいきなりお断りですが、この本がカバーしているのはPerl 5です。
 「Perl」の話題としては、つい最近、2015年のクリスマスに、Perl 6が出たばっかりです。Perl 6は2000年から設計が始められ、毎年出る出ると言われながら15年間が過ぎました。「Perl 6はクリスマスに出る」、「でも何年のクリスマスとは言っていない」というのがお決まりのギャグで、いつかは出るんだろうなあと思いながらもPerl 5で開発をしたり、解説記事を書いたりしていました。
 
 一方『かんたんPerl』は2010年ごろ? に執筆依頼を受けてから、5年間ほど掛かって執筆しました。まさか本を1冊書くのに5年も掛かるとは思いませんでしたし、出来上がった本を見ても5年も掛かったとは思えないほど気楽な本ですが、白鳥は優雅に見えて水面下で水を必死に掻いているように、ぼくもこの5年間いろいろと悩み、苦しみました。何回か抜本的に構成から書き直しているうちに、よし、行ける、このままだと書ける、と思ったのが去年のことです。遅いよ!
 
 それで、ようやく原稿も形になり、よし、このまま行くと完成する、やばいよこの本ほんとうに出ちゃうよ、と思ったのが2015年の夏ごろですが、そのときに晴天の霹靂というか、Perl 6がたぶんクリスマスに出る、本当に出てしまうという話が浮上したのです。完全に油断してたわ!!!
 
 しょうじき、ちょっとだけ焦りました。しかし、いろいろ調べるとそれほど問題ではないと思いました。Perl 6は、Perl 5とはまったく別物の言語で、今後はPerl 6と平行してPerl 5もまだまだメンテナンスされるからです。
 
 Perl 6はPerl 5との後方互換性(5のスクリプトが6でそのまま動くこと)を切り捨て、まったく新しい言語として生まれ変わりました。Perl 5の実行コマンドは「perl」(先頭が小文字なのに注意)ですが、Perl 6は「perl6」です。また、Perl 5は資産が膨大で、今もいたるところで使われています。今後も、単に「ぱーる」と言えばそれは「Perl 5」のことを指すという状況が当分続くと思われます。
 
 Perl 5とPerl 6の最大の違いは、Perl 6はPure OOLで、最初からオブジェクト指向が組み込まれていることです。リファレンスとpackageとbless関数を組み合わせた、あの例のとんちが利いた手作り感がある独特なPerl 5のオブジェクト指向の実装は、6では不要になりました。ぼくはSoftwareDesign誌2013年06号に執筆の機会をいただいたオブジェクト指向特集の項目「Perlによるオブジェクト指向入門」で、以下のように書いています。
 
…PerlのOOPはバージョン5になって後付けされたもので、ある程度ユーザが手作りで実装しなければいけない独特なところがあります。しかし筆者は、この「普通の言語にこれとこれを加えるとOOPになっちゃったー」という感覚によって、かえってOOPの本質が理解できました。これが「生まれつきOOL」、「OOLで当然」、「逆に言うとOOPしかできない」という言語では得られない面白い感覚だと思います。…

 この気持ちは今も変わりません。Perl 5のOOPはPerl 5のOOPで面白いので、一度は体験されることをおすすめします。「OOPって実はこういうことなんだ」ということが、骨身に染みて分かります。

 しかし、Perl 6はもともと、生まれつきOOLなので、この手作りの手間は不要です。一方で、あらゆるものが最初からオブジェクトです。あらゆるものはMuクラス(「無」)から派生していて、数値や文字列はCoolクラスから派生しているそうです。へぇー!
 
 ということで、ぼくとしてはPerl 6にも興味津々で、研究にいそしみ、なんだったら2016年末とかに本とか出しちゃう?(またテキトーなこと言って…)という前向きな気持ちまんまんですが、一方で古き良き、コンピューター界のスーパー文房具Perl 5もまだまだ現役の言語です。
 ということで、本ブログでは今後単にPerlと言えばPerl 5のことあえてPerl 6について書く場合はPerl 6と明記します。これは世間的にも標準的な言葉遣いです。
 なんか開始早々必死で言い訳をしているような流れになりましたが、どうぞよろしくお願いします。