プログラマyasuhoの隠れ家

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

プログラミングのキモはバランス感覚にアリ


概要にあるように、理論より実践の本です。ソースコードは全て実際に動作するもので、性能測定を行い、様々なケースでどのようなアルゴリズムが適しているかを検証しています。


アルゴリズムクイックリファレンス

アルゴリズムクイックリファレンス

で、何が最初の印象と違ったかと言うと


これはアルゴリズムの解説本ではないということです。基本的な理論やアルゴリズムはある程度知っているという前提で書かれてます。よく分からない部分は調べるか、興味なければすっ飛ばしてもいいかと。


というか、実際に流し読みしました、ハイ(笑)

ではこの本のキモは何かというと


yasuho的には、プログラミングのキモはバランス感覚ではないかと考えています。


全てにおいて完璧なアルゴリズムというものは存在しません。実行環境やプラットフォーム・データの種類によって、最適解というのは異なります。フレームワークやライブラリは一定の品質と性能向上には効果があるでしょうけど、ソフトウェアの実装は最終的にはプログラマの技量が問われると思います。


要求機能を満たすのは当然のこととして、プログラマなら性能と品質にこだわりたいもの。そういったソフトウェアを作るには経験だけではなく、実際にベンチマークを行い、どこにネックがあるのかを見極めることの大切さに、この本はあらためて気付かせてくれるのではないでしょうか。

ふと自分を振り返ってみると


古い人間だからでしょうか。わりとチカラ技で書いてしまうことも多いように思います。自分なりにそうなる理由を考えてみると、原因はコードの見通しにあるようです。例えば、ブラックボックスなライブラリに不安を感じるとか。


しかし、これは普段から性能測定の手段を用意しておけばそれほど大きな問題にはならないような気がします。車輪を再発明すればするほど品質は低下するわけで、そこも含めて自分のものとしていけるよう、これからも努力していきたいと思いました。