新・闘わないプログラマ No.204

そんなに出して…


先日、近所の書店のコンピュータ関連書籍コーナーをうろついていて、こんなことを思いました。「なんか最近、C言語の本の新刊がたくさん出てるなあ」
いったい誰がそんなに買うんでしょうか、C言語の本。Visualなんとか、の本がいっぱいでているのはまあともかくとして、Javaブームも沈静化(←あくまで「ブーム」がね)して新刊本も減ってきたようだし、Rubyもそれほど盛り上がらなかった(かな?)ようだし、最近の言語本業界はCに回帰してきているのかいな、などと思ってしまったりしたわけです。
とか言う割にはK&R(「プログラミング言語C 第2版」共立出版1989年発行、B.W.カーニハン/D.M.リッチー著、石田晴久訳)など、大きな書店にでも行かない限り置いてなかったりするわけで、私も「K&R売っていないんですけどー、どこに置いてありますかあ?」などとというメールを頂いたことが何度かあるような…。
ところで、それらのC言語本の新刊をよくよく見てみると、発行元がほとんど技術評論社であることを発見。狭い(C言語本)市場にこんなに新刊を出して、果たして儲かるのでしょうか?
技術評論社から、いったいどれだけのC言語本が出たのか、ちょっと調べて見ました(今年発行分、2001年11月19日現在)

なんなんだ、なんなんだ、なんなんだ、この数は。今年の初めに私も紹介した前橋さんのポインタの本から始まって、計10冊も出ているではないか。そんなにこの市場って広かったでしたっけ?
私自身、いちいち全部買って評価している時間的余裕と金銭的余裕(←こっちの方が非常に重要)が無いので、書店で立ち読みしただけなのですけど、出来は……まあ、いろいろですね。いい本もあればよくない本もある、と。
しかし、相変わらず文法的な誤った説明を堂々と載せている(それも多数)著者が多いのはいったいどういうわけなのでしょうか…せめて「C言語FAQ」程度は目を通して欲しいものだ、と思うのですけど。
というような話をここで何度かしている私なのですが、以前こんな趣旨のメールをもらったことがあります。「お前は『文法的に誤り』『文法的に誤り』と繰り返してばかりいるけど、そういうお前自身、完全にANSI Cの文法に則った、違反の無いプログラムだけしか書いたことが無いんだろうな。他人の誤りをあげつらうくらいなんだから、当然そうなんだろうな」
「ANSI Cに準拠します」と宣言している教科書を書くのと、実際にプログラミングするときにどこまでANSI Cに準拠してプログラミングするか、というのは全く別問題だと思うのですけど、こういう人には何を言っても無駄なんでしょうね。一応、返事を送ったのですけど、あて先不明で戻ってきてしまいました。
自分が準拠するべき基準(この場合は「ANSI C」)を明確にしないことには、どこまでそれに準拠すべきなのか、または外れていいのか、それすら分からないことになります。

って、話が逸れちゃいましたので、元に戻します。
上の、今年出版された技術評論社のC本の一覧を眺めていたら、

あれ? 日下部さんがCの入門書を書いている…おお、これだけは是非見てみないといけないな。というわけで、週末に買ってきました、「作ってわかる Cプログラミング」、2180円也。
いままで、Cの独習書で、初心者向けのいい本がなかなか無くて、他人から聞かれても「さあ、どれがいいんでしょうねえ」としか言えなくて困っていたところなので、この本はかなり期待してしまいました…なもんで、珍しく買ってみたわけです。
まだパラパラとしか読んでないのですけど、痒いところに手が届く、というか、なんかよさそう。
例えば、最初の方ですが、あの「hello world」プログラムの説明として、こんなことが書いてあります(2ページ)。

この“hello, world”という言葉に特に意味はない。高い山に登ってこだまの効果を確かめたいが特に叫ぶ言葉が思い浮かばないときに「やっほー」と言ってみたり、電話が通じているかどうか心配なときに「もしもし」と言うようなもので、“なぜだか昔から伝統的にそう言うことになっている”だけなので気にすることはない。

私も初心者に教えた経験が何度かあるわけですが、初心者ってこういうところをすごく気にするんですよね。自分の経験からしてもそうなのですが、初心者の段階では、どの部分が重要で、どの部分が「ある意味」どうでもいいことなのか、その判断が付かないのです。
「なんだ、そんなの、適当な文字列を書いているに過ぎないことなんか一目瞭然じゃないか。そんなことも分からんような奴は〜」みたいなのは、ある程度知っていて勘が働くから言えることなわけです。下手な講師やら、出来の悪い入門書というのは、そういうところを「こんなの常識でわかるじゃないか」と端折ってしまうことによって、分かりづらいという印象を初心者に与えるわけです。
さて、あとこの本で、他に私が「いいな」と思ったのは、随所にある脚注とコラムが的確、ということと、「関数(function)」「文(statement)」という具合に、用語に、それが英語で何と言うか、というのが書かれていることでしょうか。
特に、Cで使われる用語が英語で何と言うか、というのは英語の資料やエラーメッセージを読むときに結構重要ですから、用語は日本語と英語を組にして覚えておけ、と私もいつも言っています ←と、英語が苦手な私に言われても説得力が無いかも。

さてさて、以前からここの駄文で「○○という本を買ってきました。まだあまり読んでいないのですが〜」と言って、パラパラとめくった段階で感想を書いたことが何度かあるのですが、よくよく考えて見たら、そのあとじっくり読むことも無く放っておいたことが幾度も…。ううむ、最近まともに本が読めない人間になってしまったのでは無いだろうか。

[前へ] [次へ]

[Home] [戻る]


mailto:lepton@amy.hi-ho.ne.jp