入門者泣かせのプログラミング言語Perl
Perlは後方互換性を重視している、とはよく言われる。
http://ja.wikipedia.org/wiki/Perl#.E7.89.B9.E5.BE.B4
それはまったくその通りなのだろうけど、これは実は(というか)入門者に対してはさほどのメリットではないと思う。
Perlはわかりやすく(他の言語に比べて、ではなく現時点の僕にとって)、メンテナンスやアップデートを含むコミュニティも活発なので、初心者に勧めること自体に異論はないが、同時に、これという決定版の入門書がないということも言えて、後方互換性の重視はその遠因になっているとも思われる。
現状、入門書として鉄板的に挙げられるものと言えば、やはりこちらになるだろう。
- 作者: Randal L. Schwartz,brian d foy,Tom Phoenix,近藤嘉雪
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/07/25
- メディア: 大型本
- 購入: 7人 クリック: 22回
- この商品を含むブログ (16件) を見る
その次と言えば、これか。
- 作者: Randal L. Schwartz,brian d foy,Tom Phoenix,伊藤直也(監訳),長尾高弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/08/21
- メディア: 大型本
- この商品を含むブログ (2件) を見る
ぼく自身のお勧めとしては、こちらですが。
- 作者: 結城浩
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/10/21
- メディア: 単行本
- 購入: 16人 クリック: 235回
- この商品を含むブログ (75件) を見る
結城さんの本がなぜお勧めかと言うと、「古びていない」と感じるからである。
逆に言うと、鉄板と言われる上記のオライリー本2冊は、良書であることは間違いないとしても、「この書き方は今はしない」「これももう使わない」という風に、現在有効とされる作法に合致しない部分が少なくない。
冒頭に書いたとおり、Perlは古い書き方でも動くように作られているから、そうした情報の記述も間違いとは言えず、むしろ古いコードが動くがゆえに、それについて書かれた部分も有効、かつ価値を持つのかもしれないが、一方でこれからPerlを学ぼうとする入門者にとっては、そうした要素が今まさに使われている作法と混在している状況は、当人にその区別がつかない以上望ましいこととは言えない。
掲題の「入門者泣かせ」というのは、その「混在」について言っている。
ちなみに、上記2冊について言えば、大著であるがゆえに扱う対象が多くなり、そのため期限切れになる項目もまた多くなる、という面もあるに違いないから、本が(著者が)悪いということではない。
しかし、どのような理由があるとしても、「今Perlを学ぶならどの本を買ったらいい?」と聞かれたときに、その2冊を挙げるよりない現状を正当化することは難しいだろう。
より良い作法が次々とアップデートされていくのは良いことだと思うし、入門書を出版する著者や出版社がそれに追いつけなかったり、ようやく追いついてもすぐに期限切れになってしまったりすることを責めることもできないが、だからといって現状に甘んじていいとは言えないし、そのような中でこそ何らかの解を求めていくことには意味がある。
理想を言うなら、もうある種の技術書に関しては、出版形態自体を変えた方がいいだろうとは思う。
たとえば、読者は最新のデータがつねに更新されるリポジトリへのアクセス権を購入し、保証された期間内はいつでもその中に置かれた書籍データを参照できる。
オプションで追加料金を払えば、その時点で最新の印刷版または電子書籍を購入することができる。
つまり、メインの商品はリポジトリ(流動的なデータ)であり、電子書籍を含む固定物はオプション(おまけ)とする。
古さと新しさをあわせ持つPerlだからこそ、このような取り組みに踏み込む意義があるのではないか、と思うままに書いてみた。