なぜプログラミングができないのか?

新人プログラマーが理想と現実のギャップに打ちのめされる前に読んでおくと良いかもしれない参考書2冊

難しすぎず、大きすぎず、厚すぎない参考書2冊。

私たちは何かができるようになってしまうと、どうやらそれまでの苦労をすっかり忘れてしまうらしい。苦労のあとは奇麗さっぱり拭い去られ、美しく均整のとれた完成品だけが残る。私たちは美しさを誇らしく思い、これから同じ道をたどってこようとする人たちを導くために自分が身に付けたことを伝えようとする。得意げに、鼻高々に、すばらしい「体系」をふりかざして。だが、見よ。途方に暮れている彼らを。彼らに必要なのは結果ではなく、過程なのに──。

プログラミングの入門書を読み終え文法は覚えたのに、いざ自分で一からプログラムを書こうとすると途方にくれてしまうという人向けの参考書です。
入門書の次に進めなくて詰まるってことが多いんですよね。
全てが用意されていた入門書と違い、一人で一から作るためには自分で問題を設定しそれを解くための処理をコードに落とし込んで行かなくてはならないわけですが、それがプログラミングを始めたばかりの頃は難しかったりします。
この本は、「やりたい事」を抽象化してコードに落とし込んでいく「考え方」について丁寧に解説されているので、入門書を読み終えた後に読んでおくと少しだけ先に進みやすくなるかもしれません。
サンプルコードはJavaで書かれてますが、そこらへんはあんまり気にしなくていいかと。考え方自体はどんな言語でも通用する内容だと思います。

Amazonの「この本の中身を閲覧する」で本書の内容をちょこっと読めるので、是非参考に。
 
 

ひなた先生が教えるデバッグが256倍速くなるテクニック (Software Design Books)
やねうらお
技術評論社
売り上げランキング: 112,662

「そういうコピペが保守性の悪いプログラムを生み出すんですよね?」
「もちろんそうだ。ただし、すべてのプログラムに保守が必要だとは限らない。一度きりで構わないかもしれない。書き捨てで良いかもしれない。保守するのはプログラムを書いた本人ではないかも知れない。さまざまな理由により、すべてのプログラムが保守性に優れたものであるべきとは言えないし、そうもなっていない。ケニチ君よ。ケニチ君は、それらのプログラムに立ち向かう術を知らなければならない。」

現実に立ち向かうために読んでおくといいと思いますw
冗談(?)はともかく、意外と「バグの原因を絞り込んで特定してく技術」について書かれた参考書って少ないし、やたらと難しかったりするなかでこの本はわりと理解しやすいかなと。ただ、バグを特定するために元のソースに手を加えるってのは賛否両論あると思うのでそこらへんは慎重に。
とりあえず、「デバッグにも色々な技術があるんだな」ってことを知るだけでもためになると思います。
サンプルはVisual Studio(C/C++)で書かれてますが、こちらも考え方自体はどんな言語でも通用するんじゃないかな? と。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください