著作一覧 |
cvsのstableを見たら、明らかにソースが異なっているし、見た感じ合ってるっぽいので終わり。
(API[説明には2引数のものが出ているが、ベータ2のパッケージのは1引数のしか無いところがなんとも、修正進行中という感じが漂っている)
このへんは、正規版あるいは、ベータ3とかでJavadocと配布jarが一致した時点で、チュートリアルを書いてもいいな(というか、CodeZineという手もあるような)。
と書いてから、炎上って言葉は「熱い」からきてるのかもしかして、と思ったけどやっぱ、火事は火事だな。
で、火事ではなく、良い意味で熱いのが福盛さんのところで進行中の 「アルゴリズム+データ構造=プログラム」? 本当に?。
どういう話かの要約は次のであってるかな?
プログラムは、アルゴリズムとデータ構造から成り立っていると言われているけど、インターフェイスって鼎の一本の脚くらいの重要性があるんじゃない? だからインターフェイスにもっと着目したほうが良い。
僕は直観的には・ティアが異なる気がする・しかしティアと言うとアルゴリズムとデータ構造だって異なるティアじゃないか?・ならばその3つのティアでプログラムというのはもっともではないか?・他に同格のティアは本当に無いのか? と思った。でもそこで止まっているので成り行きに注目中。
ちなみにインターフェイスは独立して洗練させることができるから、データやアルゴリズムとは独立しているのは間違いなさそうだから、あとは同格かどうかに尽きると思う。
それとは別に「面のイメージ」でということからはインターフェイスではなく「界面」を使ったほうが良いのかな。
(ちなみにYakumo Projectにも注目。Seasar2の翻訳プロジェクトと言い、こっちから向こうへというのがぼつぼつと出始めたのはきっと良い事なんだろうと思うが、ごくたまに来るsubjectにrjbとか入ったメールに返事書くのでアップアップな僕としては見守るしかないのであった)
追記:おお、書いてみるものだ。トラックバックでさらにいろいろ出てきた。おもしろい。ところで、ビジネスシステムだと、RDB+ビジネスルール+通信+UI=システム(=広義でプログラムと言って良いと思う)だと思うけど、データ構造はRDBMSへ収斂、アルゴリズムはビジネスルールとして(ずいぶん薄っぺらな感じではあるが)収斂(で、その上にワークフローがあるんだと思うけど、ワークフローについては真の定義をわかっていない可能性があるので眉唾)、メッセージは通信(ノードをネットワーク上のホストに限定せず、同一プロセス内のオブジェクトとしたって良いと思うから、とてもスケールがある−というのは大島さんのところから考えたこと)、でUI(ワースの頃は、RPGとかCOBOLのようなソフトウェアサイエンスからは異質な世界でのレポート出力こそが一番の関心事だったのだと思うが−だから出てこないのではというのはbabieさんのところから考えたこと、今はインタラクティブだ)。で、ここでの「通信」がプログラムインターフェイス。で、同じインターフェイスという言葉で括れるてはいるけど、UIとPIは独立したティアとして別に考えたほうが良いのではないか? で、現在のプログラミング(ビジネスシステムと限定するとよりしっくりする)ではデータ構造はデータベースという形で外部にあり(データ構造をモデルと言い換えるとよりしっくりする気がする)、アルゴリズムは全体としてのフローによって表現されてはいるけれど、個別のルールにまで落とすと単なる条件判断に過ぎずプログラムの構成要件の一つというほどのことでは無いようにも思える。そうすると、今のプログラムで一番重要なのは他の何者でもなくインターフェイス(UIとPI)であり、もうアルゴリズム+データ構造というのはミクロ過ぎて意識する必要が無い(C++のSTLにアルゴリズムというテンプレートクラスがあるけど、コレクションを含めてライブラリ化されている−で規模が大きいライブラリとしてのRDBMSもある)のではなかろうか。
#で、いい加減な結論だけど、ギークがメーカーに不在(という最近の話題)なのは当然で、UIとメッセージがプログラムの先端(Ajaxは象徴的に象徴なわけかも)だからということに繋げてみせたり。
#にもかかわらず、検索技術とかが実はその大元にあったりするわけで、アルゴリズム+データ構造が命な分野はあるわけだし(そこに富豪検索とかがからむのが検索2.0か?)、bainary2.0ですな(でもこれはABIという意味ではPIってことなのかも)だったりもするのだが。(ここの#は2.0と書きたかっただけだけど)
ジェズイットを見習え |
現状でチュートリアルキボンヌ<br>CodeZineって正規版でてなくてもおけですかねぇ?
CodeZineは正規版じゃなきゃだめでしょう。<br>じゃあ、現状で一発。
ヽ(・∀・ )ノ<br>ところで、プログラムを表すときには一般的に3つの指標がいるのではないかなぁと思う今日この頃です。RGBとかHSBみたいに。
3つの指標ってなんだろう?<br>美しさと正確さと実行性能とか?
あ、ここでの「アルゴリズム+データ構造+インタフェース」とかです。ぼくの場合は「メソッド+クラス+オブジェクト」って言ってます。