2011-05-05
プログラミング初心者にオススメのPerl本
この時期、Perlを学び始める方も多いと思います。そこでプログラミング初心者がPerlを学ぶのに適した本を、私が実際に読んだことのあるものの中から選んでみました。
1冊目
1冊目はなんでもいいと思うのでとりあえず定番としてリャマ本を挙げておきます。
- 作者: Randal L. Schwartz,Tom Phoenix,brian d foy,近藤嘉雪
- 出版社/メーカー: オライリージャパン
- 発売日: 2009/10/26
- メディア: 大型本
- 購入: 22人 クリック: 293回
- この商品を含むブログ (40件) を見る
これで基本的なPerlの文法が学べるはずです。この手の入門書は「課題」がつきものですが、すべて解く必要はないと思います。幾つか気になるもの・面白そうなものだけ試してみればいいでしょう。
1冊目読了の辞典では、以下のプログラムの簡易バージョン*1を実装できるようになっていればいいと思います。余裕があれば実際に実装してみてください。
- grep(1)
- ls(1)
2冊目
ある程度コードが書けるようになったら次はCPAN本がいいでしょう*2。
- 作者: 冨田尚樹,タナカユカリ
- 出版社/メーカー: ワークスコーポレーション
- 発売日: 2011/04/08
- メディア: 単行本(ソフトカバー)
- 購入: 20人 クリック: 2,028回
- この商品を含むブログ (20件) を見る
この本はPerlモジュールを紹介している本ですが、それ以外にも以下のような特徴があります。
- 日本語の取り扱いについて細心の注意を払って書かれている
- 実行可能なサンプルコードが豊富
特に日本語の取り扱いはどんなプログラミング言語でもほぼかならずハマる要素なので、Perlでの文字列の扱いは早めにマスターしておいたほうがいいでしょう。
しかしながら、すべて読むと時間がかかってしまいます。そこで、最初は以下のような順で読むことお勧めします。
- 32章「インストール」全般
- 1章「ユーティリティ」strict/warnings, autodie
- 5章「文字」Encode, utf8
- 2章「データ」全般
- 27章「ウェブアプリケーション」Plack, Plack::Builder
Plackについてはソースコードも参考になります。特にPlack::Request/Plack::Response/Plack::Util/Plack::Runnerあたりは重要性も高いので読んでみてもいいと思います。
上記のトピックを読んだ時点では、作れるプログラムは特に増えないかもしれません。しかし、同じことでも効率よく、あるいは楽に、あるいはデバッグしやすく書けるようになっているはずです。
3冊目
3冊目は『プログラミングPerl』*3か『Perlクックブック』*4のどちらかを勧めます。
- 作者: ラリーウォール,ジョンオーワント,トムクリスチャンセン,Larry Wall,Jon Orwant,Tom Christiansen,近藤嘉雪
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2002/09
- メディア: 単行本
- 購入: 8人 クリック: 245回
- この商品を含むブログ (129件) を見る
- 作者: ラリーウォール,ジョンオーワント,トムクリスチャンセン,Larry Wall,Jon Orwant,Tom Christiansen,近藤嘉雪
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2002/09
- メディア: 単行本
- 購入: 4人 クリック: 94回
- この商品を含むブログ (61件) を見る
or
- 作者: トムクリスチャンセン,ネイザントーキントン,Tom Christiansen,Nathan Torkington,Shibuya Perl Mongers,ドキュメントシステム
- 出版社/メーカー: オライリージャパン
- 発売日: 2004/09
- メディア: 単行本
- 購入: 1人 クリック: 69回
- この商品を含むブログ (54件) を見る
- 作者: トムクリスチャンセン,ネイザントーキントン,Tom Christiansen,Nathan Torkington,Shibuya Perl Mongers,ドキュメントシステム
- 出版社/メーカー: オライリージャパン
- 発売日: 2004/09
- メディア: 単行本
- 購入: 2人 クリック: 38回
- この商品を含むブログ (40件) を見る
ラクダ本はPerlという言語を網羅的に説明してありますが、具体例にやや乏しいのが欠点です。クックブックは具体例を大量に集めたものですが、言語機能の解説はあまりありません。この2冊(というか4冊)を一緒に手に取るとあまりの分厚さにドン引きすること間違いないため、最初はどちらか一方から読むことをお勧めします。どちらがいいか迷ったときはラクダ本が無難かと思います。
ラクダ本とクックブックを読破した時点で、Perl言語の学習は終了したと考えていいでしょう。
その後の展開
その後はプログラミング作法やアルゴリズム、あるいはSQLやJavaScriptなどの関連した他の言語について学ぶことになるでしょう。その際、Perlと外の世界との間を埋めるものとしてはモダパーが適していると思います。
- 作者: 牧大輔
- 出版社/メーカー: 翔泳社
- 発売日: 2009/02/10
- メディア: 大型本
- 購入: 25人 クリック: 534回
- この商品を含むブログ (113件) を見る
この本を「間を埋めるもの」として紹介したのは、デザインパターンやデータベース、テストについて触れているからです。
デザイパターンはプログラミング技法であるとともに、他のプログラマとのコミュニケーションに使う用語でもあります。Perlではそれほどデザインパターンが使われるわけではないのですが、会話に出てくることはたまにあります。したがって「デザイパターンというものがある」という事を知っておくのは重要です。
データベースはこれひとつで何冊も本が出るほどの大きなトピックです。しかし、Perlからデータベースにアクセスする方法についてはこのモダパーやCPAN本のデータベースの章である程度使えるようにはなるはずです。
テストについての解説も重要です。テストの大きな目的の一つは、開発中に一度潰したバグを再現してしまうといったような「後戻り」を防ぐことです。その日に書いたコードを無駄にしないためも、テスト手法については早めにマスターしておくべきでしょう。CPAN本のテストの章も参考になります。
さていくつか書籍を紹介しましたが、もちろん書籍以外からも学ぶことは大いにあります。また、学べば学ぶほど世界が広くなってくるので、「これで十分」という段階にはなかなか達しません。しかし「いいエンジニア」ならば手が届きます。私もまだまだ道半ばですが、共に「いいエンジニア」を目指しましょう。
*1:オプションなしのデフォルトの動作のみ。出力は微妙に違ってもいい。
*2:参考: http://d.hatena.ne.jp/gfx/20110402/1301750161
*4:こちらも日本語版は2冊組。
- 577 http://ugnews.net/
- 488 http://b.hatena.ne.jp/hotentry
- 473 http://b.hatena.ne.jp/hotentry/it
- 412 http://d.hatena.ne.jp/repeatedly/20110506/1304651110
- 377 http://reader.livedoor.com/reader/
- 331 http://twitter.com/
- 294 http://bit.ly/jemmCu
- 208 http://d.hatena.ne.jp/
- 188 http://www.google.com/reader/view/
- 179 http://www.google.co.jp/reader/view/?hl=ja&tab=wy


