プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

実装を知っている人の言葉には説得力がある


仕事でも趣味でも、yasuhoは見知らぬソースコードがあればすぐに「読んでみたい!」と思うんだけど、それって少数派なんだろうか。

 しかし、自らのスキルアップを目指して、実際にオープンソースなどのコードを読んでいる人は、さほど多くないだろう。他人の書いたソースコードを読むのは、既存プログラムの保守や追加開発を行うために、やむを得ない場合が多いのではないだろうか。

記者の眼 - ソースコード、読んでいますか:ITpro


yasuhoにとってコード読みは楽しい。いや、もちろん複雑で読むのもしんどいコードだって多いさね。でもコードって書いた人の気持ちが分かるから好きなんだ。「なるほど。こんなやり方があるんだ」とか「こんな例外ケースまで想定してるのか」とかね。読み進めていくうちにだんだん謎が解かれていく、パズルのような感覚も好き。


ほんとにイヤイヤ読んでる人が多いんだろうか。でもそれだと、大抵のプログラマがイヤになってしまわないだろうか。プログラミングしてる時、コードを読むって機会はとても多い。他人のコンポーネントのバグを調べるだけじゃなく、新しいAPIの使い方を学ぶためにサンプルコードを見たり、プログラムを新しいプラットフォームに移植したり、などなど、コードを読んでない時の方が少ないように思う。


たとえコンポーネントのインタフェースがカンペキであったとしても、コードを見たくなることはある。それは単純に実装方法を知るという目的だけでなく、「実際にどうやってるか知りたい」っていう探究心から来るものじゃないかと思うんだ。


知りたがり屋だからかもしれないけど、yasuhoは中で何をしているのか知りたくなる傾向がある。小さい頃はよく時計やラジオを分解して壊していたらしい。スクリプトやインタプリタであっても、中でデータがどのように流れ、処理されるのかが気になる。だからソフトやハードが見えやすい組み込み系が好きなのかもしれないな。


技術者なら探究心を忘れてはいけないと思う。もちろんコード読みだけが唯一の方法じゃない。でも実装方法を学ぶことはドキュメントでは得られない、本当の意味でのプログラミング能力になると感じてる。実装を知っている人の言葉には説得力がある。