入門者泣かせのプログラミング言語Perl

Perl後方互換性を重視している、とはよく言われる。
http://ja.wikipedia.org/wiki/Perl#.E7.89.B9.E5.BE.B4

それはまったくその通りなのだろうけど、これは実は(というか)入門者に対してはさほどのメリットではないと思う。

Perlはわかりやすく(他の言語に比べて、ではなく現時点の僕にとって)、メンテナンスやアップデートを含むコミュニティも活発なので、初心者に勧めること自体に異論はないが、同時に、これという決定版の入門書がないということも言えて、後方互換性の重視はその遠因になっているとも思われる。

現状、入門書として鉄板的に挙げられるものと言えば、やはりこちらになるだろう。

初めてのPerl 第6版

初めてのPerl 第6版

その次と言えば、これか。

続・初めてのPerl 改訂第2版

続・初めてのPerl 改訂第2版

ぼく自身のお勧めとしては、こちらですが。

新版Perl言語プログラミングレッスン入門編

新版Perl言語プログラミングレッスン入門編

結城さんの本がなぜお勧めかと言うと、「古びていない」と感じるからである。

逆に言うと、鉄板と言われる上記のオライリー本2冊は、良書であることは間違いないとしても、「この書き方は今はしない」「これももう使わない」という風に、現在有効とされる作法に合致しない部分が少なくない。

冒頭に書いたとおり、Perlは古い書き方でも動くように作られているから、そうした情報の記述も間違いとは言えず、むしろ古いコードが動くがゆえに、それについて書かれた部分も有効、かつ価値を持つのかもしれないが、一方でこれからPerlを学ぼうとする入門者にとっては、そうした要素が今まさに使われている作法と混在している状況は、当人にその区別がつかない以上望ましいこととは言えない。

掲題の「入門者泣かせ」というのは、その「混在」について言っている。

ちなみに、上記2冊について言えば、大著であるがゆえに扱う対象が多くなり、そのため期限切れになる項目もまた多くなる、という面もあるに違いないから、本が(著者が)悪いということではない。

しかし、どのような理由があるとしても、「今Perlを学ぶならどの本を買ったらいい?」と聞かれたときに、その2冊を挙げるよりない現状を正当化することは難しいだろう。

より良い作法が次々とアップデートされていくのは良いことだと思うし、入門書を出版する著者や出版社がそれに追いつけなかったり、ようやく追いついてもすぐに期限切れになってしまったりすることを責めることもできないが、だからといって現状に甘んじていいとは言えないし、そのような中でこそ何らかの解を求めていくことには意味がある。

理想を言うなら、もうある種の技術書に関しては、出版形態自体を変えた方がいいだろうとは思う。

たとえば、読者は最新のデータがつねに更新されるリポジトリへのアクセス権を購入し、保証された期間内はいつでもその中に置かれた書籍データを参照できる。
オプションで追加料金を払えば、その時点で最新の印刷版または電子書籍を購入することができる。

つまり、メインの商品はリポジトリ(流動的なデータ)であり、電子書籍を含む固定物はオプション(おまけ)とする。

古さと新しさをあわせ持つPerlだからこそ、このような取り組みに踏み込む意義があるのではないか、と思うままに書いてみた。