memoそうかと思えば、カーニハン&リッチーのプログラミング言語Cが選択されていたりする。歴史的リファレンスに過ぎず、入門者に読ませるべき代物ではない。私に言わせれば、むしろ禁忌本である。いうメッセージを見かけたことがあるが、まさにその通り。繰り返すが、日本にまともな書評システムは存在しない。私の言葉も含めて、他人の言動を盲信してはならない。最後は、自分の頭で判断することだ。本なわけですが、それを入門者に薦めるというのはいかがなもんかというお話。本は持ってたりしますが、ほとんど読んでいません。言語が故に、現在の規格とは食い違った記述なんかが多々見られるという意味でも、これを入門者に薦めるわけにはいかない、というか、真に受けた正直者な人は、せっかく芽生えたプログラミングへの好奇心を見事に刈り取られてしまうでしょう。聖典と言えば『プログラミングPerl』ことラクダ本なわけですが、こちらは改訂を重ねて比較的新しいバージョンについても正確に記述されているとは言え、やはり難易度の点から入門者にはお薦めできません。プログラミング言語の開発者が直々に書した本というのは、その性質上「聖典」と呼ばれることが多いわけですが、間違っても入門書ではありません。ときどき「Perlを勉強したいんだけど、何を読めばいいですか?」といった問いに対して「ラクダ本」と即答する人がいます。からかっているんだろうというのは分かってても、見てて胸が痛い。入門者というのは、上級者からの言葉をたとえ冗談でもすぐ真に受けてしまうものです。(だいたいお前は最初にラクダ本読んだのかと小一時間...。他のスクリプト言語を難なく操れるスキルを持った人にとってはラクダ本が必要且つ十分(僕はそう思わないけど)なのかもしれませんが、入門者にはやはり入門者向けの本があります。知人が良く「プログラムを書けるようになりたいけど、何から手をつけていいかわからない」という声を漏らします。本当にそう思ってるならネットなり何なりで調べればいいというのももっともですが、折角興味を持っているのだから、何か手ほどきができないかといつも思うのです。最初は軽い気持ちかもしれませんが、面白くてどっぷりはまって、もしかしたらプログラミング仲間が一人増えるかもしれないという淡い期待を抱きながら。プログラマになるためのお薦め書籍をちょこっと紹介してみます。プログラミングは初めてとか、大学の授業でちょっとやっただけという方には技術評論者社から出ている『すぐわかるPerl』がお薦めです。"できる!"といった謳い文句を含む書籍は得てして駄本が多かったりしますが、この本は、本当に基礎の基礎からすごく丁寧に解説してあり且読み手に考えさせるようなストーリーで進んでいく構成になった名著だと思います。学ぶにあたって一番最初に読んだのも、この一冊でした。『すぐわかる〜』が終わったら、次はオライリーのラマ本こと『初めてのPerl』が丁度良いでしょう。入門書の次も入門書かよ!と思われるかもしれませんが、このラマ本は、基礎の根底に根付くお話、いわば基礎以上の基礎をしっかり教えてくれます。ファイルハンドルやコンテキスト、正規表現といった多少入門者には敷居が高くなりがちな内容について、詳しく解説してあるものの、入門書であることを配慮して、内容が難しくなりすぎないように書かれているすばらしい本です。初級から中級へのステップアップにぴったりです。スクリプトを記述するには、この二冊を繰り返し呼んで手を動かせば確実に身につくかと思います。実はここからが問題で、僕も経験したのですが、初級を抜け出して中級以上のことを学ぼうとするととたんに敷居が高くなります。ネストしたリファレンスやオブジェクト指向プログラミングなどが躓きやすいポイントではないかと。Perl』が良いかなと思ってます。僕も今でもときどき読み返す、名著です。リファレンスやオブジェクト指向プログラミングなどに関しては、他の言語と比べてもその扱いが多少特異な部分があるため、なかなか一筋縄にはいかないと思います。学ぶことをお薦めします。戻ってくると、このあたりの話が驚くほどすんなり入ってくるでしょう。戻ってこない可能性も大ですが。おける問題料理方を覚えなければいけません。そこで激しくお薦めなのが『Perlクックブック—Perlの鉄人が贈るレシピ集』です。分厚さに一瞬戸惑いを覚えますが、全部読む必要はありません。興味のあるトピックを拾い読みしていけるような構成になっています。いったように、トピックごとに話が完結している点です。苦手な分野や強化したい分野についての章を一から読んでいくと、丁寧な解説に加えて実践的なサンプルコードがたくさん読めるので、確実に力になるかと思います。ここから先はもう上級者の領域です。それこそラクダ本ですとか、『実用Perlプログラミング』を読み漁って言語仕様を追求するもよし、あるいは『Perlデータマンジング—データ加工のテクニック集』など応用に主眼を置いた書籍でテクニックを学ぶもよし、といったところでしょうか。これを読んでいて、「CGI絡みの書籍がないなあ」と思われた方も多いと思います。それには理由がありまして、正直オライリーの『CGIプログラミング』以外にお薦めできる書籍を僕は知らないためです。一緒にお勉強しましょう的なものが多く、そのほとんどがどっちつかずの中途半端な内容になっていて、良いものが少ない、というかそういった類の本の中に良著が埋もれてしまっている印象を受けます。入門としてはちょっと敷居が高いのです。『すぐわかる〜』や『初めての〜』あたりを読んだあとであれば、どういった書籍が良著でどういったものが駄本なのかといった判断は、立ち読みなりなんなりで判断することができるのではないかと思います。いう方は、是非自分の手で納得の行く本を探してみてください。つもりがなんだかたくさん紹介してしまいました。書籍から得ているのではないかと、自分で思っています。それだけに、こういった類の書籍を紹介するにあたってはついつい力が入ってしまうのです。個人的にすごくお薦めだったりします。ソリューションが分かりやすく記述されていて、色々なテクニックを吸収することができると思います。バックナンバーも必見ではないかと。:)追記(2):最初にラクダ本を読むかどうか、のくだりに関してちょっと追記。ラクダ本だったのだと思います。いうことで、"時間も経って有用なプログラミング入門書籍がたくさん出版された中で敢えてラクダ本を最初の一冊として選ぶのはおすすめできない"ということを書き添えておきます。プログラマになるためのお薦め書籍をちょこっと紹介してみます。たしかにラクダ本は読物という感じではないですねー。Perl、勉強、勉強。NDO::Weblogやblog.bulknews.netで、おすすめPerl本が取り上げられていたので便乗。自分は最近はすっかりネット上の情報で学習してしまうようになっちゃって、プログラミング言語関連の本をめっきり買っていなかったりする。読んでみたほうがいいのかもなと思った。Perlが未だ使いこなせていません。今日はジュンク堂名古屋店がオープンなのでチェック。ついでにnaoyaさんお薦めのこの本を購入。会社のPerl使いも自前で持っていたらしい。『コンピュータ、プログラミングの前提知識は「皆無」を想定している』だそうだ。これまでの自分のキャリアをみてみると、典型的な文系人間ではあるのだが、ちょっと大真面目にプログラミングなるものをはじめてみようと思っています。以下でtest.txtの5行目から10行目のみを表示します。わかりやすく行番号をふっています。昨日購入した「初めてのPerl」で早速Perlの基本を勉強しています。4章の「サブルーチン」を読み終わりました。Perlプログラマになるつもりはないけど、Perlを使っている以上、最低限の知識だからなあ。いうわけでここらへんの読んでいこうと思う。[8件]勉強になります。私はPerl関連は必要最低限しか読んでいないので。購入だけして適当に流したら会社のPerl使いに提供しております。「これ1冊でオッケー」みたいな本がやっぱり売れるのでしょうね。最初は自分のやりたいことを知りたいだけなので仕方ないと思うのです。次に「読めば読むほど知らないことが増える。読む」という永久機関が発動するかどうかでしょうね。[返信]なるほど、やっぱりコンピュータ関連の書籍というのは、充実してきているのですね。「元」サンデープログラマーで、今ではほぼ門外漢になりつつある自分ですが、その当時、これだけ書籍がそろっていたら、もしかしたら違う道を進んだのかな?なんて思います。いうのも、確か15年前ぐらいに初めてK&R本を読んだときには、他のCの本よりもよっぽどタメになった記憶があります(他の入門書は超How-toで辟易した記憶が)。ラクダ本も知らないうちに第3版になっているようですが(最近買いました)、最初のラクダ本を読んだときには「(ちょっと説明が冗長だけど)これ一冊で足りるからオトクだなー」とか思った記憶が。まあ当時はPerl本がほとんどなかったからかもしれませんが...。時間を見つけて、実践的なサンデープログラマーに戻りたいな、という思いを込めつつ。さん銀の弾丸はないのだということに気づくまでには意外と時間がかかるものなのだと思います。スクリプト言語を使うと、ある程度基本さえ理解すればやりたいことはたいがい実現できてしまうわけで。綺麗なコードや保守性の高いコード、或いはスケーラビリティを考慮した設計といった話題になってくると、本質的な理解が必要不可欠になってきて永久機関が発動するのでしょう。さんそんなに僕と年齢はなれていないような。ラクダ本は初版と比べると、現在のものはボリュームが全然違うという点も入門者に向かない理由じゃないかなとも思います。[返信]じつは、すこしまえにラクダ本を買うまでは、Perlの本は1冊も持ってなかったんですが、やっぱりいろいろありすぎてこまるので、こういう記事があると参考になりますねー。Perlは特に、巷にあふれているCGIスクリプトなどにひどいのが多いので、その辺で先に進めない人も多いんじゃないかと思ったりもします。その点、Rubyなんかははじめからオブジェクト指向だからいいんでしょうね。ぼくがなにか本をセレクトするとしたら、Perlの本じゃないけど、『珠玉のプログラミング』はこれからプログラミングをやろうとしている人にはすごくお勧めです。ラクダ本とかしかない時期に、それを読んでこの世界に入ってきた人たちというのは、相当に自分で考える必要があって、それはそれで力が付いたんじゃないのかなーとちょっと思いました。入門書が増えたのはいいのですが、ただ読むだけの物ってのはやっぱりあまり良くないですね。読んでる本人に考えさせるように書かれている本というのは、やっぱり限られてくるように思います。さん巷にあふれているのがひどいというのは確かにそうかもしんないですね。検索しても、あまり良いサイトがひっかからない辺りもちょっとあったりして。いや、たくさんあるんですけど、なんか多くの中に埋もれちゃってる気がします。珠玉のプログラミングは何度も買おうと思っていまだ手付かず。次はそれを買ってみよう。その前に、積読の山をなんとかしなければ...。[返信]珠玉のプログラミングは私も気に入って紹介しました。http://tsundoku.info/2nd/archives/000022.html(リンク付き:pこれは万人にお薦め出来る貴重な本ですね。