日々精進

新しく学んだことを書き留めていきます

Joel on Software読了

これは面白かった!いやー読ませる読ませる。こんなにも早く続きが読みたい!と思った専門書は久しぶりかも。
マイクロソフトでエクセルの開発をリードしてただけあって技術的にもとても納得できる、面白い話がいっぱい。
書かれていた有用な概念・アイデアをいくつか紹介すると


●抽象化の漏れ
実装の詳細を隠蔽して処理を抽象化することによって便利な機能を提供する技術は多いが、
ほとんどの場合どうしても抽象化しきれない部分があり、
そのことが問題になった時に実装の詳細についての知識がなければ問題を解決できない。
例:SQLで同じデータセットを取得するプログラムは通常複数通り書けるがその処理速度はそれぞれ異なる場合がある。


●ソフトウェア開発の「世界」
ソフトウェアにはいくつかの種類があり、それぞれ開発方法論・目指すべき品質等がまったく違う。
具体的には以下。
・パッケージソフト
・ゲーム
・Webアプリ
エンタープライズシステム
・使い捨ての小さなプログラム


目指すべき品質を決める要素は
・ユーザ数
・アップデートの容易さ
などがある。




他には
●人のタスク切り替えにかかるコストはとても、とても大きい
●ある財の補完財の価格が下がると、その財の需要は高まる
などなど。オススメの一冊です。