タグ

ブックマーク / tech.cm55.com (2)

  • scala/ruby - tech.cm55.com

    RubyScala Javaの欠陥、Rubyの欠陥を埋めるものとしてScalaが選択されつつある。 ここでは特に、なぜRubyではだめなのか、他の方の言を紹介する。 なぜ Lift に違和感を覚えるか 一刻も早くJava から Ruby へ移行したいと思っていた。しかし、実際に Ruby で開発を行ってみると、そこには譲れないトレードオフがあった。Eclipse 上の Java コードは、死んだ文字列ではなく、呼びかければ応えてくれるオブジェクトだったが、Aptana RadRails 上の Ruby コードは、それとは程遠い代物だった。補完はまともに働かず、依存先へのナビゲーションや依存元の検索はインテリジェントでなく、リファクタリング支援は貧弱。これは、特定ツールの未成熟の問題というよりも、動的型付け言語のアイデンティティに関わる問題だろう。そして、Rails アプリケーションの実行

    akkun_choi
    akkun_choi 2011/09/11
    Rubyは文化的に型を軽視しているところあるよね
  • guice/ServiceLocator - tech.cm55.com

    Injectorをサービスロケータとして使う DIの考え方は非常にとっつきにくい。とっつきにくい原因は「制御の逆転」である。通常、我々があるクラスを作成する場合はその中で「好きな時に好きなオブジェクトを好きなだけ生成して使う」というやり方である。が、DIではそうはならない。「そのクラスで使うべきであろうオブジェクトがどこかで勝手に生成され、勝手に用意される」といった具合になる。 つまりこれは、考えるべき問題の範囲がクラスの外側にはみ出してしまうことを意味する。これまではクラスの中でだけ問題(いつどんなオブジェクトを生成するか)を考えればよかったにも関わらず、DIを使うとクラス以外の部分でそれらを検討する必要が出てくる。これは面倒だし、間違いが発生する可能性も大きい。追うべき範囲が広がるのでおそらくデバッグも難しくなる。 SpringのようにオブジェクトのセットアップをXMLを使って行うフレ

  • 1