読者です 読者をやめる 読者になる 読者になる

もっとコード読もう

みんなコード書いてばっかりで、読んでないんじゃないかなぁと思う所があっ
て、なんとなーく新年あけましてだしぃ、ちょっと書いてみました。

コードを読むのは辛い

そもそも、ソースコードは他人にわかるような面白い読み物として書かれてい
ません。ソースコードは人間とPCが理解できるような中間のものとして書かれ
ているからです。そのため、ソースコードには、小説のように順序立てられた
物語はありません。
 
したがって、他人のソースコードを読むは大抵の場合「苦痛」を伴います。
すごく長い関数とか、GCとか、GCとか…。まぁ、とにかく理解するのには時間
が掛かるわけです。

コードを読む理由

今、ネット上には世界中の優秀なプログラマが書いたソースコードがタダで公
開されています(いい世の中ですね)。そのようなソースコードには必ず「発見」
があると思うのです。「おぉっ、こんなやり方があったか」と唸るような「発見」
です。
 
ただ、それを見つけるまでは、とっても大変です。なぜなら、多くのプログラ
マは「発見」を他人に見せるように書いていないからです。しかし、諦めずに
読んでみる価値はあります。「発見」は経験的に大きな成長に繋がるからです。
それに、発見の瞬間は「おぉ」という感動と快感があります(私の場合、この
「発見の快感」にとりつかれたみたいです)。
 
また、コード読みは自分の視野を広げるという意味もあります。人のコードを
読まずに、独りよがりなコードばかり書いていると、いつしか他人のコードを
拒絶がちになってしまいます(例:「理由はないけど、なんか気持ち悪いんだ
よね」)。小説家が優れた他人の作品を読んで勉強するように、プログラマ
優れた他人のコードを読むべきなのです。

大事なのは読んだ後、書いてみること

最終的なアウトプットは「コードを書く」ことです。コードを読んで得た「発
見」を胸に、真似てコードを書いてみましょう。世に言う「車輪の再発明」と
いう奴ですが、そんな言葉はまるっきり無視して進んでください。
 
んで、ぼーっと考えていたのですが、「読む => 書く」の繰り返しが「成長の近道」
なんじゃないかと思うんです。いやゆる「できないプログラマ」ってやつは、
「読む、書く」のどちらかができてない、もしくは、どちらもできてない(こっ
ちの方が圧倒的に多い)のではないでしょうか?