2006年02月18日(土)

プログラミングは体で覚えろ

テーマ:プログラマの心得
自動車運転の教習中は、ちょっと運転しただけで、とても疲れたことを覚えている。ただ左折をするだけでも、「ええと、いまから左に曲がるから、サイドミラーを確認して、ウインカーを出して、巻き込みを確認して・・・」などと、ひとつひとつ頭で確認しながら運転していたように思う。

しかし、何度も運転をしているうちに、そうした基本的な安全確認は、何も考えずとも自然にできるようになった。


車の運転と同じように、プログラミングにも多くの危険がある。ヌルポインタ、アクセス違反、メモリリーク、ゼロ除算、ファイルI/O エラー・・・。こういった危険を避けるために、プログラマは常に安全確認をしなければならない。

ある程度経験を積んだプログラマなら、このような基本的な安全確認は、やはり自然にやっているものである。初心者の頃は、こうした危険に直面しては、バグを作りこみ、痛い目に会う。何度かそんな経験を積んでいくうちに、確認せずにはいられない「体質」になってしまうのだ。

プログラミングには、このように、体で覚えるという面がある。安全確認だけでない。アルゴリズムやデザインパターンのようなプログラミングの「定石」も、頭で覚えただけでは不十分だ。実際にプログラムをいくつも書いてみなければ、適切に使えるようにはなれないだろう。


工芸にしろスポーツにしろ、何らかの技術を体得するには、相応の練習が必要である(※)。もちろんプログラミングも同じである。本を読んで、頭で理解しただけでは、決して自分のものにはならない。

会社は十分な研修もしてくれないし、仕事もテストしかやらせてもらえないし・・・などと、甘えてはいけない。職人にも例えられるプログラマの仕事。その下積み時代は、料理人でいえば「皿洗い」である。現場では先輩の技術を目で盗み、影では人知れず練習をする。それくらいの気持ちを持っていなければ、立派な職人にはなれないのである。




※もちろん、才能も必要だが・・・。



← このブログを誰かに読ませたいと思った方は、クリックを



Javaのドリル
Javaのドリル
posted with amazlet on 06.02.18
瀬戸 遙
ソシム (2005/09)


プログラミング問題集5 VB .NET版 空の巻
オープンナレッジ
オープンナレッジ (2005/04/18)
売り上げランキング: 274,078


C言語トレーニングブック―これから始める人のCプログラミング練習帳
平田 豊
ソーテック社 (2004/04)
売り上げランキング: 535,928

コメント

[コメントをする]

1 ■後輩

うちの後輩にも聞かせてやりたい。
なんでも、教えてくれって、自分で調べようと全然しない。

2 ■RE: 後輩

前回の記事にも書きましたが、うちには先輩にも居ます。そういう人が。

3 ■はじめまして

ここに書くべきコメントではないのかもしれませんがお許しくださいm(_ _)m
今、高校三年で将来はプログラマになりたいと思い進路も情報系に進むのですが、今のうちからやっておいたほうがいいことなどがありましたら教えていただきたいのですが・・・
Cは独学である程度は学びつつ、今春休みなのでjavaを学んでみようと思うのですが・・・
なにか助言がありましたらお願いしますm(_ _)m

4 ■RE: はじめまして

poroporo さん、はじめまして。そうか、春休みなんですね。
Java でいいんじゃないでしょうか。書籍やネットに情報も多いですし。
C言語ができるのなら、次は、オブジェクト指向の考え方を意識しながら学ぶのがいいと思います。
あとは、SQL かな。

5 ■Re:RE: 後輩

そうでした(W

僕の後輩は以下の行動をして自分で探しません。

僕;「工程が10あるとしたら10全部聞くな」と後輩に言う

後輩:「全部聞くなといわれた」と上司に報告する

上司はプログラムを分かってないので「もっとやさしく教えてあげて」と僕に指示する

僕は仕方が無いのでおしえる。

という経路を使ってきます。

ちなみに後輩といえど私より5歳年上です。

6 ■RE^3: 後輩

その上司の人も微妙ですね。
私は、逆に「教えすぎるな」といって注意されたことはあります。新人相手だったからだと思いますけど。

コメント投稿

一緒にプレゼントも贈ろう!

Amebaおすすめキーワード