エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

聴くことと話すこと、書くことと読むこと

このあいだ、仕事場の電話を取ったら英語で話しかけられました。相手がゆっくりと簡単な言い回しをしてくれたのと多少なりとも英語番組を聴いたりしていたおかげか、聞き取りにはなんの問題もなかったんですが…。如何せん言葉が出てこない。言っていることはわかる、答えられるだけの情報もある、答えるための言葉も知っている…はず。なのに言葉が出てこない。その場は単語を繋いで(相手の理解力に頼って)どうにか話をしましたが、頭の中での言葉の入力と出力の回路は別物だな、と改めて実感した次第。


こんなことがあって。「頭の中での言葉の入力と出力の回路は別物」というのはプログラミングでも当てはまるかも、と感じました。
読みやすいことはよいコードの要素の一つですが、読みやすさを考慮したと思えるコードというのが本当に少ない。仕事での話ですが。
ふだんコードを書くことばかり求められるので、コードを読む回路が鍛えられていなくて読みやすさがどのようなものか判断できないのかもしれない。自分の書いたコードは読んでいるのだろうけれど、それは頭の中に残っている書いたときの記憶と照合しているだけではないだろうか(だから、あからさまな欠陥も見落としたりしてしまう。目の前のコードに欠陥があっても、頭の中では間違っていないと思っているから)。


冒頭で書いたように、入力のlisteningだけ練習していても出力のspeakingも練習しないと英語は使えるようならない。じつはプログラミングも同じで書く練習、書く仕事ばっかりしていてもじつは上達には限界があって、おなじぐらい読む鍛錬が必要なのではないか、と思いました。