トップページ⇒tech
643コメント210KB

OOPの次はAOPだそうですね?

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
今度はAOP(アスペクト オリエンテッド プログラミング)だそうです。
OOPも、満足にやってないうちに、その次が出てきてしまいました。
われわれはどこへ向かっているのでしょうか?
0455デフォルトの名無しさんNGNG
>>454
あ、なるほどねー。確かに関係ねぇやー。じゃなくてw

>JITはリフレクションなどの動的自由度を上げる技術になっているだろうか。

あんま関係ないっしょ。
JITは、異なるマシン・コード間での、忠実な変換処理を動的にやる技術だから、
「マシン・コード間の変換に関する動的な自由度」
   例:MIPS系CPUの特殊命令でCPUのエンディアンをひっくり返した後で、
     元のエンディアンのコードをJust In Timeに変換しながら実行する。
はあるけど、
「機能面の動的自由度を上げる」わけじゃないでしょ。

お尋ねの「リフレクションの動的自由度」って、
感性的になんとなく判るような判らないような???
論理的にはっきり言ってどういう意味?
なんかレス付けにくいで〜す♥♥♥
0456455NGNG
>>454
>というより、AOPは動的自由度によるものだろうか。

こっちも意味不明で、レス付けにくいで〜す。
「動的自由度、動的自由度」って、いったい何の動的自由度???

以下、混乱した質問に対する、混乱したレス:
  AOP処理系によるクラス定義の再編成(weaving)は、
  従来はソースコード・レベルで実現されていたが、
  最近は実務的ニーズ(ソースコードの無いコンパイル済ライブラリも手軽にAOPしたい)に応えて、
  バイナリコード・レベルの再編成もサポートするようになった。

  将来的には、JIT compilerもどきの、JIT weaverも出るかもね。そしたら、動的自由度あるだろーねw

  っつか、何らかの動的自由度に基づいてAOPの考え方が実現されているわけじゃないっしょ。
  現在AOPは、ソース・コンパイルよりも後の段階でweavingを実現できるという意味では、
  多少の自由度を得つつある。
  それは逆に、「何らか(いったい何だよ!)の動的自由度」にとっても意味ある進化をもたらすのかな、
  例えば、アスペクトという観点でその「何らかの動的自由度」を制御できるとかw

  お兄さん、「自己改変コード」とかキーワード言えば納得するの?
0457デフォルトの名無しさんNGNG



     2ちゃんねる掲示板は、ヒッキーなどの動的自由度を上げる技術となっているだろうか。
     というより、ひろゆきは動的自由度によるものだろうか。
0458デフォルトの名無しさんNGNG
豚丼は、丼飯系ファーストフードの動的自由度を上げるメニューとなっているだろうか。
というより、唐揚飯は動的自由度によるものだろうか。
0459デフォルトの名無しさんNGNG
>>454
>>448 は、AOPに関する話じゃなくて、AOPのバイトコード編集をとりまく技術に関する話です。誤解のないよう
0460デフォルトの名無しさんNGNG
クソレスは良くないと思いまーす
0461デフォルトの名無しさんNGNG
静的な宣言性がAOPの現在のところポイントだと思ってるけど、外してるだろうか。
本当の意味で動的な方法のメリットを追求する方向は、寡聞にして聞かないが。
まあ、思いつきレベルの研究ならでてるかもしれんし、そのうち良いのが出てくるかもしれんけどね。
とりあえず、JSPみたいに一発目でとか、JBossみたいな設定ファイルとかは動的とは違うと思ってる。

> 「動的自由度、動的自由度」って、いったい何の動的自由度???
これは、
> コンパイラー言語の速度で、インタープリター言語なみの動的自由度を実現する技術
とおっしゃった方がいるので、そちらに。
漏れは、起動中のプログラムの命令レベルの処理シーケンスが変えられることかなと思ってるけど。
0462デフォルトの名無しさんNGNG
> リフレクションのような動的自由度
言語上に記述された定義に対して、実際の振る舞いの方を変えてしまう、みたいな。
ん?これってAOP?あれれ?(^o^;;
0463デフォルトの名無しさんNGNG
> アスペクトという観点でその「何らかの動的自由度」を制御できるとか
アスペクトは、制御というか整理の方があってる感じかな。
しかし、アスペクトの動的な定義系での意味ってイメージつかないな。
「動的」自体がメタ化(んなのありえるのか?)された世界での話みたいな感じだろうか。
0464デフォルトの名無しさんNGNG
AspectJより、DynamicProxyAPIでメソッドコールに割り込みかけるようにしたり
しなかったりを切り替える方が実運用が楽じゃないかと思っていたのですが、どう
思いますか?

クラスファイルを再編集するって、要するにリコンパイルするようなものです
よね?起動しっぱなしのサーバなんかでそんなことをするのは難しいのでわ、
とちょと思ったもので。実行中に変更できるといろいろ便利じゃないかな、と。
0465デフォルトの名無しさんNGNG
話が地に付いたな。たしかにそういう限定的な動的weaveはありかな。
ただ、実際に止められないようなサーバで
運用中のアプリのクラスをいじるなんてありかなって気はするけど。
0466デフォルトの名無しさんNGNG
>>462
  リフレクションときゐちゃぁー、黙っちゃおれねゑー!
つう人も多いんで、漏れに判る範囲だけ謙虚に書いとくと。

リフレクションって、
メタプログラミング、例えば、関数を生成する関数とか、その関数を生成する関数、に関する話で、
その関数生成関係を、階層化として定義して、最終的に「いかなる状況にも対応しうるプログラム」
を作ろうとする話でしょ。で、その議論に、はかなり初期段階から動的自由度の話が入っていて、
メタプログラミングを動的に実行可能にする事で動的自由度を実現するとか、
あるいは関数の振る舞いを制御する「制御点」を提供して、動的関数生成が困難な処理系(C++)でも
動的なメタプログラミングを可能にしようと、かなり前(10年,20年単位)からいろいろ試みがなされているでしょ。
例えば、RWC (Real World Computing)系とか。

で、そーゆー戦略が、今でも有効なのか、リフレクションに関する研究活動が、今でも有効に機能しているのか、
寡聞にして私は存じません。ただ、AOPの話には、リフレクションの話は最初から折込済みだったような気がする
0467デフォルトの名無しさんNGNG
>>465
Windozeにパッチかけた後で、とりあえず再起動かけなくてもパッチが有効になるとかwww

非常に需要の高い用途だw
0468デフォルトの名無しさんNGNG
> 例えば、RWC (Real World Computing)系
ほんとだ渡部さんも居たんだね。なにやったんだろ。
つうか、RWC自体なにしたんだろ? SCore開発?

> Windozeにパッチかけた後で、とりあえず再起動かけなくてもパッチが有効になるとか
Windowsに限らんと思うけど、実行中プロセスのモジュール入れ替えは、
動的コード改変よりも、整合性保証の技術が望まれるね。適用範囲も限られるだろうし。

んで、いずれも激しくスレ違いsage。
0469デフォルトの名無しさんNGNG
リフレクション! リフレクション! リフレクション!
黙っちゃおれねゑ人、降臨きぼん!!
0470デフォルトの名無しさんNGNG
>>427
「今でもインターフェエースと委譲で多重継承できる」っつうても、
それは、型多重継承を実装単継承で実装するために、
過度にクラスを細切れにして配置してるだけの話でしょ。

実装多重継承のキモは、同じようなコードの再利用にある。
そして、その「同じようなコード」は、型階層とは無関係に、
プログラムの随所に現れる事がある。それがアスペクトだ。
「クラス=型と実装を組にした継承」という縛りを離れて、
自由に実装コードを共有できるようにし、
更にそれを分析レベルの非機能的要求と結び付けたものが、
AOPのcrosscutting concernだ。
だから、AOPはOOを乗り越える新しいパラダイム足り得る、
と、漏れは3年前から認識して居る
0471デフォルトの名無しさんNGNG
Javaなら、Interfaceプログラミングの励行とDynamicProxyAPIで、
何も準備しなくても普通にAOPプログラミングできると思うんだけど。
0472デフォルトの名無しさんNGNG
あんた、ただ一種類の実装方法を、しつこく粘着カキコしても、
話は広がらないし、第一、誰もあんたを尊敬しないと思うよ。

DynamicProxyAPIみつけたのが、そんなに嬉しかったんか?不憫だね〜w
0473デフォルトの名無しさんNGNG
>>472
話を広げようなんて思ってないよ。Javaでやるのに特別なライブラリだの
フレームワークだのなんかイランでしょっつってるだけ。
0474デフォルトの名無しさんNGNG
頭のおかしな人の判定基準:
12. 議論の中心の本筋と、ほんのちょっとしか関連のない狭い話を、
  一般論だと主張し、他の人の議論を妨げ、自分を議論の中心に据えようとする。
0475474NGNG
#なんか最近、煽りの人の最新レス見なくても、煽りをこき下ろす予知能力がついちまった・・・。
0476デフォルトの名無しさんNGNG
まぁ、あれっすね。
DynamicProxyって、Lispのevalみたいなもんか。
プログラムの実行をメタレベルでコントロールできりゃいいって考え方。
静的な型チェックと相性悪そう。>>ネヴァーヴァード
0477デフォルトの名無しさんNGNG
>>470
それって、ほとんど>>427への反論になってないんでないの?
>>427ではだめで、AOPならOKであることを、
言明のファーストクラスに据えたレスをしてみ?
具体例があるとなおよし。
0478デフォルトの名無しさんNGNG
>>476
相性悪そうっつーか、無理だろ。
ファーストクラスに引きづり出されても型推論てちゃんとできるの?
0479デフォルトの名無しさんNGNG
委譲だと、やる場所にコードが散らばるが、
AOPならまとめられるってことでは?
0480デフォルトの名無しさんNGNG
誰か助けてくれ〜
頭悪そうなレス付きまくりで、あいてにしたくねぇよ
0481デフォルトの名無しさんNGNG
まあ、そういうな。むかしからルイトモというではないか。
0482デフォルトの名無しさんNGNG
>>477
行間が読み取れないみたいだね
>>478
むちゃくちゃ頭悪い。
0483デフォルトの名無しさんNGNG
>>479
同義反復、永遠に無限ループしててくらさい。

>>480
スルー。つか、あんた悲惨だな。誰もあんたがヴぁかだとは言っていなくて、
単に場違いな主張を延々続ける痛い人、って言ってるだけなのに。
もしかして、頭悪いって自覚症状あり?
0484デフォルトの名無しさんNGNG
ただいま、このスレには「ファーストクラス」厨房が降臨中です。
また〜りして、ファーストクラス厨房が消えるのをお待ち下さい。
0485デフォルトの名無しさんNGNG
482==483!=470?
なんかよれてるな。
0486483NGNG
おっと、スレ番間違えて自爆してるし。
>>830は>>831のまてぃがい
0487483NGNG
おっと、スレ番間違えて自爆してるし。
>>480は>>481のまてぃがい
0488デフォルトの名無しさんNGNG
ふぁーすとくらす厨、まだ居るの(ぷ
0489デフォルトの名無しさんNGNG
メタ・プログラミングは、なかなか楽しい。
しかるに、掲示板で議論の本筋そっちのけで、言った言わない、あんたがヴァカだおまいもなー、
みたいなメタ議論始める奴は、人生終わってる
0490デフォルトの名無しさんNGNG
484==470==455==486-488?
だとしたら、>>484はドンぴしゃの釣果だ。

煽るのは一向に構わないが、自分の不都合や弱点、無理解への言及がある度に
これをレッテル張りをして排除するのは、議論の質を下げるので止めていただきたい。
0491デフォルトの名無しさんNGNG
メタ議論はさておいて。

某スレで「メソッドコールをクロスカッティングコンサーンとやらと認識する」という珍説を発表した、
http://pc2.2ch.net/test/read.cgi/tech/1031056945/554 さん、さっそくその珍説を御解説してくらさい。
あと、類友でデムパを受信された
http://pc2.2ch.net/test/read.cgi/tech/1031056945/565 さんも、援護射撃をどうぞ〜

あっちのスレは、荒らさないでね
0492デフォルトの名無しさんNGNG
「メソッドコールを crosscutting concernsと認識する」???
0493デフォルトの名無しさんNGNG
誰か、>>492の引用文の中身を、翻訳してクレ〜
頭の皮が剥けそうな程、大笑いしちまったよ〜
0494デフォルトの名無しさんNGNG
春、ですなぁ〜。
JavaWorldはAOPで盛り上がりまくってるのに、
ここ2ちゃんは、デムパがアレまくっていますね。
0495デフォルトの名無しさんNGNG
http://pc2.2ch.net/test/read.cgi/tech/1031056945/565 もおもろいぞ。

「それで自由にcrosscuttingできていると言えるのかね」???

crosscutting=横断 と訳すとして、
「それで自由に横断できていると言えるのかね」???^100
なんか、横断歩道の話題ですかw
0496デフォルトの名無しさんNGNG
何かと思ったらあっちのスレの話題か。あっちでやれよ。
0497デフォルトの名無しさんNGNG
居直るデムパ
0498デフォルトの名無しさんNGNG
>>497
デムパは相手にせず、スルー汁
0499デフォルトの名無しさんNGNG
あっちのスレもこっちのスレも、同じ人物がスレ立てしたって、気づいている人、何人居るんだろうねw
0500デフォルトの名無しさんNGNG
developerWorksの"AOP banishes the tight-coupling blues"
ttp://www-106.ibm.com/developerworks/java/library/j-aopsc/

にある "Static crosscutting" って、どんなツールを使ってるの?

public aspect FooBar {
 void Foo.bar() {
  System.out.println("in Foo.bar()");
 }
}

とかコードが載ってるんだけど。
0501デフォルトの名無しさんNGNG
>>500
記事よく嫁
0502デフォルトの名無しさんNGNG
あぁ、AspectJと断りなくコード書いてるな。

とAspectJを知らないヤシが適当なこと逝ってみる。
0503デフォルトの名無しさんNGNG
デムパの強度が上がって参りました・・・・
0504デフォルトの名無しさんNGNG
>>491
俺は、その発言者じゃないけど。
多分、発言者は、「全てのメソッドコールを横断的関心事として切り出そう」と主張しているのでは?
すると、Lisp のevalと同系統のメタプログラミングだね。
0505デフォルトの名無しさんNGNG
元発言の言いたいことは、
メソッドコール時に関心事の処理を行うってことだと思うけど。
メソッドの追加はどうすんのってのと、
関心事の処理自体を整理するのがAOPじゃないの、
ってことでないかと。
0506デフォルトの名無しさんNGNG
メソッドコールがメッコールに見えた_| ̄|○
0507デフォルトの名無しさんNGNG
>>505
う〜ん、AOP以前に、
evalでメタプログラミング (インタープリター式メタプログラミング)って、
効率上の問題からとっくに終わっちまってると思ってたんだけど、
JavaSoft〜JBoss方面には未だに残党が生息しているのか。

そんなにevalしたければ、VMカスタマイズすればええやん→バイナリコード小細工すれば、目的果たせるやん→method call全部hookしれば小細工必要ない
って、話がどうどう巡りだね。で、そのmethod callレベルのフックを、Java自身で行なうようじゃ、効率の問題は残ったままなんだろうね。はぁ〜ぁ
0508507NGNG
あ、evalでメタプログラミングじゃねぇーや、
リフレクションAPIのMethod Invocationを毎回呼び出してメタプログラミング、か。
VM byteコードで、インタープリタを記述してるようなもんで、オーバーヘッドがキツそうだね
0509507NGNG
一応、>>505が「また」キレないように、前発言をフォローしとくと。

メソッドコール時に関心事の処理をする、、、って、一体どうやると思う?

リフレクションAPIのMethod Invocation使って、
全てのメソッドコールをフックする(>>504)とオーバーヘッド大きいよ(>>507-508)。

どっかのスレにあったみたく、debugger APIの ブレークと同じ仕組み使っても、
実行効率は多少落ちるし、JITとの相性問題もあるし、第一、デバッグしにくくなるよ。
0510505NGNG
元発言者じゃないしあんま考えてないっす。
リフレクション系の動的でいくか、折り込みの静的で逝くか、
の話なんだろうね。Javaのリフレクションてそんなにヤバ遅なの?

というか、動的という方向はAOP以前から
既存クラスの処理をいじるっつうのは如何様にもできるわけで、
AOPってのは静的な方向が味噌なんじゃないかな?
型チェックみたいな静的な整合性の宣言の保証とかそっち方面の話の気がする。
0511デフォルトの名無しさんNGNG
ふ〜ん、その、アスペクトに型を付ける、という聞き馴れない新概念について、
ぜひ説明をおながいします。いや、必要だと思うよ、そーゆーのも。
0512デフォルトの名無しさんNGNG
ん?アスペクトに型を付けるって話じゃないでそ。

単に、静的なAOPと、動的なAOPがあって、
現在は前者が主流だし、そっちの方が魅力的だ、
と言ってるのでは?
0513デフォルトの名無しさんNGNG
昨日のDynamicProxyAPI厨房、まだ居るのかな?
あーゆー、他人の議論無視でつたない自己主張をする既知外の人は、
今後一切カキコしないでほしいな。
0514デフォルトの名無しさんNGNG
DynamicProxyAPI厨房って、
多分他の人からDynamicProxyAPIの事聞いて、
その人の評判を貶めようと、荒らし行為をやってるような気がする。
言ってること支離滅裂だし、論点不明で主張が不明。傍から見て、可哀想な人。

まったく、2ちゃんて、そーゆー人格破綻者のカキコが多すぎるよね、
多分ほとんど同じ人だと思うけどw
0515デフォルトの名無しさんNGNG
>>510も、かなりキテルけど、刺激するとヤバイから、穏便に処理、と。
はっきり言って、何を主張されておられるのか、さっぱりですな。
JBoss AOPの解説記事や開発状況読んで、
なんか自分がすごい技術を知っていると勘違いしている厨房、痛過ぎ。
自分でなんかやってから、その仕事を自慢してみろよw
0516デフォルトの名無しさんNGNG
このスレでは思ったことを自由にレスして欲しいな。
ただし、AOP自体に関した内容限定ね。
0517デフォルトの名無しさんNGNG
ひたすら一人の人が両方のスレで煽ってますな。
暇人。
0518デフォルトの名無しさんNGNG
DynamicProxyAPI厨房、まだこの板で粘着してるよ。
どうせ、自称脳科学者の既知外の人でしょ。さっさと寝ればw
0519デフォルトの名無しさんNGNG
>>517
煽り御苦労。さっさと寝れ。
0520デフォルトの名無しさんNGNG
だって、ここ40レスのほとんどが君一人の書き込みじゃん。
何がそこまで君を駆り立てるのか興味があるね。
0521デフォルトの名無しさんNGNG
しかし。久しぶりにこのスレ継続的にヲチしてみたら。
何時にレス付けても即レス返って来るしw
暇人の人は時間が無限にあって、いいなw
春厨って奴ですか。春、だなぁ〜
0522デフォルトの名無しさんNGNG
>>520
中学生はオヤスミ。
君は、もうちょっと一般常識とか、社会常識を勉強してから、ここに来てクレ。
もう君の相手はこりごりだw
0523デフォルトの名無しさんNGNG
ん?必死な人の相手をするボランティアですよ?
0524デフォルトの名無しさんNGNG
市ね
0525デフォルトの名無しさんNGNG
ういっす。回線切って首釣ります(・∀・)ジャアネー
0526デフォルトの名無しさんNGNG
あ、それから、「メソッドコールをクロスカッティングコンサーンと認識」つう珍説の解説もよろしくね。
0527デフォルトの名無しさんNGNG
やっと荒らしが逝ったか。
しかしスレを荒らして、皆の気分を悪くして、一体何が面白いんだろうね。
きっと陰惨な実生活を送ってるんだろうな(((;゚Д゚))ガクガクブルブル
0528デフォルトの名無しさんNGNG
>>525
もう二度と来るなよ。

>>526
荒らしを煽ってどうする・・・放置しろよ!
0529デフォルトの名無しさんNGNG
>>427,>>477
反論してるのは、>>427の方でしょ。
なんで>>477は第三者的立場で人様に回答要求しているのか、よく知りませんがw
0530デフォルトの名無しさんNGNG
>>464-465
うーん、この議論の流れが尻すぼみに終わったから、
昨日は暴れる人が出たのね。傍迷惑な話だ。

JBossに関係ある話題なら、そっちのスレでやればいいのにね。
で、どうですか?という問いかけに対する回答は、上の方でいろいろ既出、と。
0531デフォルトの名無しさんNGNG
OOPを逆さまから読むとPOO プー
0532デフォルトの名無しさんNGNG
AOPを(ry
0533デフォルトの名無しさんNGNG
JavaからOLEやExcelを扱うAPIの名前は、

POI (Portable Object Interface) ポィッ
0534デフォルトの名無しさんNGNG
>>533
寒いうえにスレ違い。
0535デフォルトの名無しさんNGNG
>>534 素人ハケーソ
0536デフォルトの名無しさんNGNG
>>535
( ´,_ゝ`)プッ
0537デフォルトの名無しさんNGNG
>>1
>OOPも、満足にやってないうちに、その次が出てきてしまいました。

さしあたり、OOPの拡張と認識しておいて良いと思います。
そもそもOOPを駆逐するような性質のものでは全くないので、
やはり過渡期においては「いいとこ取り」が健全かと思われ。

通常のOOPLでは難しいリファクタリングの延長として
捉えてみるのも良いと思います。
とりあえず、メソッドの本質と関係の薄いコードを
コピペする様な状況を回避するには便利です。

あと、デザパタの実装としてAOPを採用するのは、個人的には
時期尚早と思います。(非常に小規模のチームであれば別ですが。)
AOPの利点としてDPが挙げられていますが、
当分は別々に考えて良いと思います。

# お節介ですが、AOPよりデザパタの方が業界的にも重要かと思われ、
# そちらを優先されてはいかがかと。。。
0538デフォルトの名無しさんNGNG
AOPでデザパタ云々つうのは、研究者のネタに多いね。
現場にどっぷり浸かってる人間が手を出すべき対象ではない、と思われ。

あ、そいえば、ちゃねらーの「AOPでJ2EE!」プラン否定して
「AOPでデザパタ分析こそ重要」って見解示していた
titsのセンセェ〜も、さいきんはJBoss状況把握目的で海外出張してるそうだ。

研究者よりも、ちゃねらーの方が感覚が鋭いなんて、お笑いだな
0539デフォルトの名無しさんNGNG
「J2EE!」って範囲広すぎで意味不明なんだが
0540デフォルトの名無しさんNGNG
いみふめ
0541デフォルトの名無しさんNGNG
リアルのほうのちゃねら〜は、
短いレス読んだだけで、全て判ったつもりになって煽るから、
おもしぇ〜なぁ〜(プププ
0542デフォルトの名無しさんNGNG
>>532
それヤバすぎ
0543デフォルトの名無しさんNGNG
捕手。
0544デフォルトの名無しさんNGNG
hage
0545デフォルトの名無しさんNGNG
良さそうだけど今はいいや
0546デフォルトの名無しさんNGNG
あおぷ〜
0547 ◆1Mny9CMXtI NGNG
sage
0548デフォルトの名無しさんNGNG
、
0549デフォルトの名無しさんNGNG
エージェント指向?
0550デフォルトの名無しさんNGNG
アプリケーション指向に決まってる。
0551デフォルトの名無しさんNGNG
アゼルバイジャン指向ってなんかかっこよくない?
0552デフォルトの名無しさんNGNG
アルバート・オデッセイ・プログラミングも中々良いよ
0553デフォルトの名無しさんNGNG
Arab Opinion Performer
「アラブ、意見の表現者」というテロ組織です。そんなもん広めちゃいけません。
0554デフォルトの名無しさんNGNG
AOPって何?
■ このスレッドは過去ログ倉庫に格納されています