uehaj's blog

Grな日々 - GroovyとかGrailsとかElmとかRustとかHaskellとかReactとかFregeとかJavaとか -

Spring入門

Javaフレームワークの本を大量に買い込んで、今Springの本をじっくりよんでます。
Springについての感想を一言で:

「正しい問題意識+誤った手段による解決」

Javaが静的型言語であることに由来する制約(動的性質/柔軟性の欠如)を、AOP+XML+Interface...などなどなどであらゆる手を使って解決しようとするもんだから痛々しい。手を縛ったまま泳ぐ方法を超頭のいい人が画期的な方法で工夫してやりとげてるような感じ。

コンポーネントの組み合わせ方を設定ファイルに外だしした時点で、クラス名指定の誤りがコンパイル時・編集に検出しえなくなり、静的型の利点をあらかた失ってる気が・・。これは一例で一事が万事、動的言語(MOP)、動的型(ダックタイピング)やクロージャ、DSLできれいに解決できる気がするような事ばかり。

アセンブラでポータビリティを確保しようと苦労している人に、「高級言語使え」といいたくなるのと同じぐらい、Springで苦労してる人には「Grails/Groovy使え」といいたくなります。まあ、Rails使えでもいいのかもしれんが。