スキップしてメイン コンテンツに移動

ビューティフルコードとmalloc/free論争

このビューティフルコード(Beautiful Code)は悶絶するほど凄い本だ。著者には、カーニハンを筆頭に世界中のGuruたちが並ぶ。個人的には、高速ビットカウントやNumPy、MapReduceあたりに興味を覚えた。コードを書く人なら興味を覚えるテーマが一つや二つは必ずあるだろう。

しかしながら、私にとってはビューティフルコードの価値の1/3は、久野靖さんとまつもとゆきひろさんの対談にある。これは凄いよ。ずいぶん前、fj.comp.lang.c++で大規模なフレームがあった。malloc/freeについての論争である。mallocでメモリを確保した後にfreeをしなければならないのか、そうではないのかという、今でも時々蒸し返される定番の話題だ。

この当時、初心者にはmallocと対応させてfreeをすることを教えない方が良いとする意見がGuruたちの間では優勢であり、その中の一人にまつもとさんもいた。一方、久野さんは教えるべきだとの意見だった。前々からfjでの久野さんの意見はほとんど自分と一致していて、そして自分にとっては一々が説得力を持っていた。このときのmalloc/freeの意見でも完全に久野さんと同意見だった。malloc/freeについての主義や主張をここで繰り返しても仕方がないので、あとはC FAQでも読んで欲しい。云いたいことは、自分にとってこの時期がプログラミングに対しての考え方を形成する上で重要であったということだ。

現在、自分はメインのLLとしてPythonを使っている。これは上記のフレームが影響しているのだ。malloc/freeについて自分と異なる考え方を持つまつもとさんはRubyの作者であったが、私がRubyではなくPythonを選んだのはまさにこの考え方の違いのためだった。個人的には、Rubyの方がよりオブジェクト指向としての完成度が高いし、短く書ける(内包表記はまた別だけど)ので、好みに合うように思うのだが、やっぱり作者の考え方が自分と違うことを知ってしまうと喜んで使うことができなくなるのだ。今ならもう少し柔軟な考えもできるが、当時はまだ若かったこともあってどちらも使うという選択にもならなかった。

そして、久野さんとまつもとさんの対談をあの当時の懐かしさと一緒に読んでみた。型に対する意見の違いなど、やっぱり本当のプログラマは自分自身の意見をしっかり持っており、容易にそれが変わることがないのだなという雰囲気が伝わってきた。

こんな素晴らしい本を読める今のプログラマたちは幸せだと思う。

コメント