[ooaa main]  [object pasta2]   [essence] (旧blogはこちら)  [flickr]  [myspace]  [View Eiichi Hayashi's profile on LinkedIn] 

JavaからRubyへ

オブラブ懇親会で当たっていただいた。「JavaからRubyへ」もらった上にサインまでいただきました。(笑)
なかなか、Javaをとりまく現状の問題点が明確になっていておもしろい。
とりくむ価値はありそうだ。 角谷氏との熱い握手から気持ちが伝わってきました。
 
気になったことと思いついたこといろいろ。
 

  • 難しさというものの本質は選択できてしまうことが多いということに起因する。
    • Javaプラットフォームのようにフレームワークの選択肢やできるAPIが膨大になることで、何が必要で何がいらないかの判断ができるまでにコストがかかってしまう。 
    • AppleのHyper Card であったようなユーザーレベルによってできることをコントロールする仕組みがシステム開発にもあっていいのではないかと思った。 これはJavaにかぎらず発展する可能性のあるすべてのプラットフォームに当てはまる課題である。
  • メタプログラミングは両刃の剣
    • システムがエンタープライズ用に巨大化したとたんに混乱が発生するだろう。
    • スケーラブルな実装にするには、メタプログラムの影響範囲を適切にわかりやすくコントロールする仕組みが必要になるだろう。
  • プログラムというものが順次実行という前提をもっているがための複雑さの増大傾向はやはり避けがたい
    • プラットフォーム共通の課題だと思う。
    • たとえばAという処理とBという処理をやらなければ行けないとすると、どちらが先でもいい処理だとしても、どちらを先にやるかを決めないとならないという冗長さがある。
    • 同じことを実現するフローチャートとイベント図は、イベント図の方が情報量がすくなくて済むことでもわかる。
  • ふと思いついたアイディア。
    • 複雑さの原因の一つは増大する機能のグループがプラットフォームの仕組みとして適切に抽象化されて分類化されていないことにも起因する。
    • プログラムというものの関心事を抽象化して標準化して、関心事をビルトイン化したプラットフォームができれば機能が増えることによる複雑さの増大をある程度防げるかもしれない。

  
ともあれRubyの動向には注目すべき!
 

JavaからRubyへ ―マネージャのための実践移行ガイド

JavaからRubyへ ―マネージャのための実践移行ガイド