富豪的プログラミングとは
増井俊之さんによって提唱された概念です。 オリジナルは1996年(!)に書かれたようです1
NEXTSTEPでは
NEXTSTEPでは、少なくとも以下の3つはあったはずです。
- ウィンドウ枠のドラッグに追随
- スクロールバーの移動と連動
- 多段undo
ファイルセーブはなかったかな。。。検索実行はあったかも。
プログラマーに必要な心構え
GUIについてはどれも「当たり前」になりましたが、 プログラミングについてはまだまだ十分認識されている感じがしないです (少なくとも自分が見る限り)
例えばこれです。
条件が変わる度にすべての計算や表示を行なう
再表示が必要な場所だけ書き直ししたり、 出力のバッファリングをしたりする貧乏性な工夫はバグのもとになるので行なわず、 条件が変わる度に計算を再実行したり全体を書き直したりします。
「(コンピュータが)1度行った作業は行わせない」というのは甘い罠で、 だいたいにおいて、バグや生産性の低下をもたらします。 ちゃんと設計できる、スキルの高いプログラマーならいいんですが。。。
気にするのはオーダーだけ
NEXTSTEPが実現していることが「当たり前」な自分にとって、 この富豪的プログラミングは馴染み深く、 むしろ、他の人を見て「ケチくさい」と思うことが多いです(今でも)。
自分がコンピュータ資源を気にするのは、 基本的には「計算量(オーダー)」くらいです。 例えばJavaのMapを回すときは、keySetではなく、entrySetを使うくらいです。
-
ソースコードより。 ↩︎