全7228文字

プログラマーにとって、プログラムを書くだけでなく読むことも重要だ。読むスキルは書くスキルや設計スキルにもつながる。プログラムを読むコツを解説する。

 プログラマーなら「プログラムを書く」のがメインであって、技術が必要なほど読むことが大事とは思えない――。そう思う人は少なくないのではないでしょうか。逆に、「確かに読むのは大事なこと。効率良く読むためのテクニックがあるならぜひ知りたい」と思う人もいるでしょう。

 恐らくプログラムを読むことの大事さがわかっている人は、ある程度プログラミングの経験があり、特に仕事でプログラミングやソフトウェア開発に携わっている人、そして恐らくはまだ仕事を始めてまだ年数が浅い人なのではないかと思います。

 一方、「プログラムを読む」と言われてピンと来ない人は、プログラミング言語の入門書を読んで、さあいよいよ自分でもプログラムを作ってみようという段階の人が多いのではないかと思います。

 でも実は、そんな人たちでもよくよく考えてみると、プログラムを読む機会はたくさんあります。初心者段階でも、実際にはたくさんのプログラムを“読んでいる”のです。

 私自身、最初はプログラムを読むことの意味やメリットについてあまり深く考えていませんでした。もちろん今は違います。プログラムを読むのにはさまざまな効果があります。今回は、実はプログラムを読む機会は思いのほか多いということと、プログラムを読めることのメリット、意味について、私の経験を交えながら皆さんと共有しておきたいと思います。私自身が何を経験してどう考えていたかをベースにしていますが、決して私が特殊だったわけではありません。どのプログラマーにも共通しているところが多いと思います。なので、皆さんにとってはこれから行く道だと思って読んでいただければと思います。

初心者がプログラムを“読む”機会

 私がプログラミングの世界に足を踏み入れたのは大学にいたときでした。岡山大学工学部情報工学科(現・情報工学コース)に進学したのですが、まったくの素人から入門した状態でした。そのときのことを思い返してみると、次のような“読む”機会がありました。

(1) 学習用サンプルプログラムを読む
(2) 書籍のサンプルプログラムを読む
(3) 友人の書いたプログラムを読む
(4) 過去に自分が書いたプログラムを読む
(5) 先輩のプログラムを読む

 (3)や(5)のように、早い段階から周囲の人が書いたプログラムを読む機会があったというのは環境によるところが大きいかもしれません。でも、(2)の書籍のサンプルプログラムや(4)の自分の書いたプログラムであれば、誰でも目にするはずです。

 (1)の学習用サンプルプログラムは、主として大学の授業を通じて提供されたもののことです。プログラミングの授業では初期段階で基本的な文法をはじめとする入門レベルのレクチャーがありました。そうした授業を通じてプログラムを書くための準備が整ったところで、

  • プログラムのバグを修正する
  • 途中まで書かれたプログラムの残りを書いて完成させる

といった課題が出ていました。

 いずれもサンプルプログラムを渡され、指示通りに修正したり、書き足したりする課題です。どこにバグがあるか見つけるためには、プログラムを1行1行に至るまで読み解く必要がありました。また、書きかけのプログラムを完成させるために残りを書き足すためには、指定された部分に何が書かれているかを読み解かないといけませんでした。

 (2)の書籍のサンプルプログラムは、多くの人が経験しているところでしょう。私が大学生のころ購読していたパソコンの雑誌には、ゲームのプログラムが掲載されていました。プログラムを書けるようになった私は、そのプログラムで遊んでみたい!と思いました。何日かかけて少しずつプログラムを入力し、ようやく完成したのでコンパイル*1したところ、残念ながらエラーになってしまいます。

*1 コードとして記述したプログラムを、コンピューターが実行可能な形式に変換すること。プログラミング言語によってはプログラムを実行するためにコンパイルを必要とします。