08/09/10 21:28:22
>>646
すまん、今日は忙しかった。
いろいろとな。オブジェクト指向の勉強もあるしな。
おれはアジャイルプログラミングというのにとても魅力を感じている。
URLリンク(ja.wikipedia.org)
URLリンク(www.metabolics.co.jp)
すごく合理的で、もちろんマーチンもアジャイルアライアンスに署名している。
URLリンク(ja.wikipedia.org)
マーチンは神だ。
簡単にいうと、速攻で作って、変化とかは必要があったらその場で最善らしきものを考える。
設計とかは必死に考えない。
という態度だ。完璧な設計を目指さず、とにかく動くものを速攻で見せれる。
もっといえば、文系のバカな顧客を黙らせる手法。
あいつらとにかく動くもの見せときゃ黙るからよ、っていう考え。
非常に合理的だ。無知な文系という毒の解毒剤になりうる手法である。
文系のバカは何も分からんと必要もない要求を積み重ねてくるから、
もうこちらで変更に用意するのはだるいよねっていう。
どうやらアメリカでも文系はバカらしい。
作る側としてもゲーム感覚で非常に楽しい手法だ。
この手法の一番革命的なところは、まずテストケースから書くという点だ。
テストケースを書いて、それをパスさせるプログラムをインプリする。これを繰り返す。
大事な点は、あるイテレーションにおける目標を達成する為に、もっともシンプルな道を選ぶという点だ。
将来的に現れるだろう変化は逆に一切考えない。
考えない事で速攻でプログラムを作り、その未完成なプログラムにより逆に変化を呼び寄せる。
よって、無駄な変化への対応、つまりインターフェイスの抽出だとかがありえない。
常に最速。
こういうオブジェクト指向系の理論とか手法は大体Javaから始まったものだが、
現状としてはアジャイルといえばRuby on Railsという感じで、Rubyとか動的言語において流行ってる手法だ。
Rubyは動的言語ゆえにテストを書くのがほぼ義務的な感じだし、
実際おれは、静的言語でオブジェクト指向をする事自体が間違いなんじゃないかと考え始めている。
動的言語が流行り始めたのは、CPUの速度が上がって遅さに耐えられるようになったからではなくて、
単純にオブジェクト指向に静的言語があまりにもフィットしてないからではないだろうか、そう考えるようになった。
静的言語は変更に弱すぎる。
いやIDEを使えばその手間もある程度は緩和出来るが、
1)IDEを使えないと地獄、IDEの使い方とかアホに教えるのだるい
2)インターフェイスだの抽象クラスだのクラスが増えすぎて、管理しにくくなる。
という点であまり心地よくない。
そもそも動的言語というのは静的言語に見られるような型について開発者が考慮するという点を
わざわざやってくれているわけだからその時点で優れているわけだな。
とりあえずrubygemのバグどうにかしてくれぃ!