書くより読む方が難しいってこと

 どこかで書いたかもしれないけど、やはりプログラムというものは書くよりも読む方が難しいと思う。ここに難しいところがあって、というのも、読まないことにはどうやって書いたらいいかわからないのだけども、読むのは書くよりも難しいのである。だから、どこかのタイミングでものすごく頑張る必要があって、僕はその壁を数年かけても突破できていないな、と常々反省しつつも何とかしようとしている。当然ここでいう書くというのは、基礎文法の練習とかそういうレベルの話をしているわけではなくて、もっと高いレベル、OSSのコミットするつもりで書いたり、売り物にするために書いたりするレベルのはなしである。そのレベルに達するためには、やはりそのくらいのコードを納得感をもってスラスラと読めるくらいでなくてはならないだろうと思う。Code Reading(Dimids Spinellis, 2016)をみると、優れた作品を読まずに素晴らしい小説をかける小説家がいるか、という話が載っていてそれにひどく納得してしまった。
 とはいえ状況を改善するための努力はしようと思っていて、というのも、ここのところ毎朝githubからソースを落としてきてそれを読んでいる。まずは有名どころで普段使っているものから読もうと思って、gnu coreutilsを読み始めた。cat、echo、ls、と有名どころのコマンドの中身を調べている。色々な人の目が通っているので単純にコードとして優れているというだけでなく、Linuxのマクロやシステムコールを色々と使っているというところも勉強になるポイントである。自分のレベルではソースだけで読解するのは厳しいので、参考サイト、特にMizure's BlogのDecoded : GNU coreutilsを見て変数や関数の意味を確認したりしている。有名どころを読み終わったら、utility以外のもっとアプリケーション寄りなものにも手を出して、徐々にレパートリーを広げていきたい。もう少しで初めて1ヶ月になるが、かなりの学習量がこれによって得られるような気がしている。ただし、実力はまだ上がっていない。今後に期待。

2 件のコメント:

りりん(輪理無) さんのコメント...

優れた作品を読まずに素晴らしい小説をかける小説家がいるか、この理論で行くと私ももっといろんな名作ゲームに触れたほうが良いんだろうな

HoriK さんのコメント...

それはそうかもしれない。昔妖怪ウォッチの開発者が同じようなことを言っていたのような気がする

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。