/.J の プログラミングのカルト宗派。
- 経験カルト
- 最適化カルト
- 簡単カルト
- 高速カルト
- 不確実性カルト
- 完璧カルト
- カーゴ・カルト
- NIH(Not Invented Here)症候群
ほとんど当てはまるなあ。
具現化は簡単カルトと高速カルトを使ってさくっとやらなきゃいけないからOK。
後でメンテナンスをする為には綺麗に書かなきゃいけないから完璧カルトもOK。
ていうか、コードを直さなくちゃいけない機会は何度もあるわけで、その度に数日かけて解読しなきゃいけない事を考えると、綺麗に書いておくべき。テストファーストみたいなもんでしょ。
けどそのうち手段と目的が入れ替わってる事があるので要注意。
たまに式の美しさに魅せられて、よくわからないビット演算が出てきたりとか。
マルチコアに対応しないプログラムはゆっくり走る車に近いけれど、それを除けば本質的に遅いコードってゆっくり走る車に例える事は出来なくて、エンジンフル回転なのにトロトロ走る車なんだよね。
ウエイトで寝てるとか、意図的にCPUのクロックを落とすようなコードでない限りCPUは常に全開で電力とバックグラウンドアプリケーションが使えるはずのリソースを食い続けるわけで、1クロックでも速いに超した事は無い。
よって最適化カルトもOK。
でもこれもパズルゲームなので手段と目的が入れ替わる場合があって要注意。
NIHカルトは必須。むしろ簡単カルトが獲得すべき努力だと思うけど。
自分で書く事によって動きを噛み砕く事が出来る。勉学もノートに書いて学力を磨くでしょう。
自分で動きが分ってるから、ライブラリで呆れる程効率の悪い呼び出し方はしなくなる。
まあ確かに何でもかんでもソースが手元に無いと、ってのが異常だって言いたい気持ちも分るけど、ソースあればデバッグする時に動きも分るしね。