Rails?Ruby?Java?動的?静的?開発効率?保守性?


一連の太田さんのMixiから始まる流れを読んでみたんだけど、
なんか論点がごっちゃになってる気がする。
主義主張の問題なのか、言語上の問題なのか、フレームワークの問題なのか、
さくっとわからない。


一番直近のひがさんの話でもRailsについて首尾一貫して書いているんじゃなくて
突然Rubyの話が出てきたり、最後の末尾が「これがJavaなんだと思っちゃだめです(笑)。」で
結論付けてたりとか一貫性がないです。Railsについての本音の話なんじゃなかったの?
最後がJavaの擁護なのはなんで???


Rubyで大クラスっていうのもなんだか正直あまり信じられない。
本当にそうなのかなあ?別にオブジェクト指向どうこうなんて個人的にどうでも

いいんだけど、それって主義主張であって言語としてそうしなければいけない
話じゃないと思うし。もちろんJavaでも大クラスをばんばん作る人だっているでしょう。
太田さんところのMixiにコメントがあるように、言語上の機構が大クラスを作りやすい、
小クラスで分割しやすいということはあると思うけど。


あと火に油を注ぐかもしれないけど、言語選定でもフレームワーク選定でも
何故か論点の対象から外れていそうだなあと思うのは、
・何ができるのかとそのHOWに対してはアピールは絶えないのに、何が出来ないのかを言う人はあまりいない。
・どれくらいのボリュームのものを作ろうとしている想定なのか
 →もちろんスケールの問題とかって当然あると思うだけど。5人が絡む案件と500人が絡む案件では
  その手段も変わるんじゃないの?
・どのドメインに対して提供しようとしているのか
 →さくっと仕上げたい社内システムなのか、2年以上開発にかかるような案件なのか、とか。
  お客さんはどの業界なの?どういうお客さんなの?
・システムとしてのライフサイクルはどの程度でそこに携わるメンバとか。
 →システムのライフサイクルとして1年以内なのか、5年想定なのかとか。
  保守メンバーはどんな人間?いままでのメンバーが交代でやるの?とか別の人をアサインするの?とか。メンバが保有している技術ってそもそもJavaなの?Rubyなの?とかね。


あまりこういう論点をもって論じる人をみかけないですね。自分の知ってる人だと高井さんくらい?
(「XXXのような要求を持つお客さんに対しては・・・」という前提がみんなの文脈のなかで抜けがちだと思うのは自分だけかなあ?)
もちろんRailsというかDHH(というか37signals)もこういう論点を持っているように思います。
「Getting Real」とかはそれにあたるんじゃないかと思う。Railsもそのほかの製品も一貫して
「Getting Real」にデザインされていると思うので。
誰か詳しい人plz。