他人のソースコードを読む楽しさとおぞましさ

仕事の成果物って色々あると思うけど、プログラマにとっての成果物は当然ソースコードになる。


これほど作者のバックグラウンドや思考を反映するものは他にないと思う。
そういえば、エリック・レイモンドの著書に「The Art of UNIX Programming」というタイトルのものがあるが、プログラミングはどちらかというとアート、特に文芸に近いものなのだと思う。


ソースコードをじっくり読んでいると、その人の思考パターンをなぞっていくように作者と共感したり、理解できない箇所を何とかして意図を汲み取ろうとしたりする。
すると、そのソースコードの作者の顔を見たことも、もちろん会話すらしたことがなくても、段々と知り合いのような気がしてくるから不思議なものだ。
これが優れたソースなら高水準の知能に触れる素晴らしい機会となるのだが、
例えば以前一緒に仕事をした「嫌なやつ」のものだったとしたら?


もう何年も顔を合わさず、
記憶の中から彼の存在は消え去り、平穏な生活を送っている中で、
突如としてソースコードの中でその「彼」と出くわした。
彼の書いたソースを読むうちに、忘れかけていた思考パターン・性格・口癖を思い出した。

ソースを読み解き、無理やりそいつの思考パターンについて行こうとし、
イライラは溜まり、ついに彼を理解することはできないと悟り、コードを書き直した。


いい意味でも悪い意味でも、ソースコードを読むことは、本人と会話するよりも影響力が強いのだと思った。