2003-11-13(Thu) 明日から社員旅行 [長年日記]
■1 Smith instances
『:Revolutions』以降での、増殖するエージェント・スミスを指して、本邦では「100(0)人スミス」とか「クローン・スミス」といった形容を随所で見かけた。で、標題のコレ。どこだか忘れたが海外サイトで見た言い回し。別段プログラマ的観点からのレビューではなく、フツウに『The Matrix』の青臭さを受け止めていたレビューだったのだけれど。
Smithクラスのインスタンスという捕らえ方になるのかな。設計はPrototypeパターンで。This is my world! My world!
■2 Javaフレームワークがコモディティ化した状況下のアーキテクチャ・メカニズム
溜まっていたプリントアウトをボチボチ消化中。で、いわゆるJ2EEでの業務アプリケーション構築にあたっての標準構成の大勢は:
Struts(->WebWork2) / Spring / Hibernate
これで決まりなんじゃないの? あとXdoclet。これならアジャイルにも適用/適応できそうな予感。レガシーなシステム/データ/ライブラリとの協調が止むを得ない場合(Amblerタン曰く「君子レガシーに近寄らず」である)など、状況が変われば道具立ても変わるのは当然ではあるが。
Web層のフレームワークはStrutsがデファクトだろう、と思っていた。不勉強にもWebWorkも1.xは一瞥して「LightWeightだがAgileではない」と、わかった風な判断を下して放置していたのだが、2はヤバイ。超ヤバイ。
と、私にはこんな低脳な形容しかできないが、「WebWork2は気持ちいい」と、清々しい形容をされている縣さんに期待。昨年以来、何かをちょっとhogeろうとすると、その先にはいつもMobsterが居る、って感じである。
他にもとりとめなく思うところはあるのだけれど、巧く書くことができないので、書かない。何の因果か『はじめての画像処理技術』を読まねばならぬので。『The Matrix』ならわかるつもりだけれど、行列はわかりません。
■3 Cerise + Web Publisher
Springや[WebWork2といったフレームワークを見ていると、「もうJavaやのうてもええがな」という気になってくる。で、EclipseにWeb Publisherを乗っけた状態でCeriseを使うというのはアリなんじゃないの?と思ってググってみたら、やっぱり先に考えている方はいらっしゃるようで。
ただ、なにやら現状では動かすのも大変そうである。
■4 (業務アプリ開発は)もうJavaやのうてええがな
——という思いつきには一応根拠はあるつもりで、SpringにせよWebWork2にせよ「インターフェースに対するプログラミング」を主軸に置くことで:
- コーディングはインターフェースに対して行う
- 実装とのマッピングは(見かけ上)実行時にXMLでバインドする
という枠組になっている。こうなってくると、いよいよもって正しくコードを書いたかどうかは、動かさないとわからない。
で、Javaによる開発手法の潮流は、明らかに、動かしてみて確認するパラダイムへとシフトしつつある。この点、Rubyはもとよりメッセージドリブンな動かし方ができるんだから(型云々よりもメソッドに反応できるかどうかが大事)、「インターフェースに対するプログラミング」への親和性はJavaよりもRubyのほうが高い。や、別にRubyじゃなくてSmallTalkでもいいんですけど。
思うに、RubyにとってのEclipse(IntelliR IDEAでもいいです)が出てくれば、ハッカーでも達人プログラマーでもソフトウェア職人気質でもアジャイル開発者でもない、コーダー/プログラマーやエスイー(SE)な人々にも使ってもらえると思うんだけど……。周囲が前者のような人ばっかりだったらいいんだけどねえ。現状のRubyは「プログラミングが好きな人向け」だと思う。といっても、それこそがRubyの狙いだろうから、そこをどうにかするべきだとかいうつもりは毛頭ない。
ここで、自分でずらずらと並べたジョブタイトル(じゃないもののほうが多い)をみてふと思う。私はいったい何者なのか。……仮の定義を与えておこう: コーディング傭兵。
| 


