pokarimさんのReactive Manifestoに関する印象

12
pokarim @pokarim

だけど、それもまあ、マーケティングのテクニックですよ、と言われれば、まあ、はい、そうですか、という感じではある。

2014-04-18 22:44:27
pokarim @pokarim

で、個人的に一番腹が立つのは、Reactive manifesto はつまり Actor model を使いましょう、と言ってるだけなんだけど、Reactive programming と Actor model はまさに別方向のアプローチだということ。

2014-04-18 22:47:44
pokarim @pokarim

Reactive Manifesto が提案したReactie Applications から派生して、Distributed Reactive Programming とかいう言葉が使われ始めていて、これが全くReactive programming とは関係ない代物。

2014-04-18 22:51:10
pokarim @pokarim

名前空間が汚れちまったわけです。

2014-04-18 22:52:38
pokarim @pokarim

まあマーケターのいうことにいちいち腹を立てても仕方ないと思ってたんだけど、実際に混乱を引き起こしているのを目撃してしまって怒りが再燃してしまった。 https://t.co/OBWGkxxoIy

2014-04-18 22:57:37
dif_engine @dif_engine

reactive が複数の意味で使われてるからといって腹を立てるようでは数学における regular の汎用性で精神を病むことになる

2014-04-18 22:59:51
pokarim @pokarim

混乱の一例> "コース名にある "Reactive Programming" にある The Reactive Manifesto の啓蒙と Akka での Actor プログラミングがメインでした。" http://t.co/MSWv1IVexx

2014-04-18 23:00:02
pokarim @pokarim

Coursera の Principles of Reactive Programming でも、しれっとReactive programming「ではない」Akkaがメインディッシュになってたりするという。

2014-04-18 23:01:40
pokarim @pokarim

@pokarim 前半では本物のReactive programmingについても説明しているところがにくい。

2014-04-18 23:03:44
pokarim @pokarim

@pokarim 後半はActor modelとAkkaが中心になりつつ、Actor modelがReactive programmingだとはいっていないところが、またにくい。

2014-04-18 23:06:09
pokarim @pokarim

何も「悪い」ことはしていないと思うけど、好きか嫌いかでいれば「大嫌い」なやり方。

2014-04-18 23:09:57
pokarim @pokarim

もうひとつ、もしかしたら一番重大かもしれない問題があって、それは、Actor モデルは、composabilityに欠けるという点。 > "actors do not compose" http://t.co/FeQ8C7WqA7

2014-04-18 23:15:56
pokarim @pokarim

Acotr modelは、関数プログラミングにおける関数のような意味でのcomposabilityを持たないので、仕様が複雑になるにつれ、コードサイズが非線形的に増加する。

2014-04-18 23:22:47
pokarim @pokarim

なので、高い性能とシンプルな仕様を持つミドルウェアを実装するためにはActor modelは適している。一方、エンドユーザー向けアプリケーションの効率のよい実装には本来それほど向いていないはず。

2014-04-18 23:24:03
pokarim @pokarim

以上から、Reactive Applicationsを目指す上でも、Actor modelはいずれ不適切だということになるだろうと思う。そういう意味でも将来を見据えているはずのReactie Manifesto の内容には同意できない。

2014-04-18 23:26:41
kiwanami @kiwanami

Actorがcomposableでない(状態を持つので宣言的でないという意味で)という話は、ガウディ本でも詳しく書いてあったし、並列並行本の最後の方にも書いてあった。

2014-04-18 23:28:52
pokarim @pokarim

宣言的でなくとも、そのほかの天におけるActor modelの利点は、すでにErlang/OTPによって実証されていると言えると思う。ただそれはそれほど新しいわけではなく既知の問題を抱えるものでもあるということ。今 Manifesto などぶち上げるようなものではないはず。

2014-04-18 23:32:29
pokarim @pokarim

言いたいこと大体ぜんぶ言った。

2014-04-18 23:33:29
Kenji Yoshida @xuwei_k

@pokarim ところが(個人的はReactive Manifestoと少し似た匂いがする) Reactive-Stream http://t.co/9Z0pJTkfJU というのが発表されてですね…。Akkaとは一応独立しているコードがあるのは、ちょっと違う感じもしますが

2014-04-18 23:48:53
pokarim @pokarim

@xuwei_k xuwei_kさんのつぶやき経由で、ちょうど今眺めていました。まだ内容を詳しくつかめていないですが、似た匂いがしますね。

2014-04-18 23:53:34
kmizu @kmizu

"pokarimさんのReactive Manifestoに関する印象 - Togetterまとめ http://t.co/AIUNCXe8oZ"自分は別にErlang/OTP に思い入れがあるわけではないけど、 Reactive Manifesto は、あの、えーと(続)

2014-04-19 07:33:59
kmizu @kmizu

読んでると、いや、間違ってないけど、ものすごくふわふわしたことしか言ってなくて、意味がなくね?というのが正直な印象。Akkaの売り込みである、というのはまあ完全には間違ってないだろうけど個人的にはどうでもよくて、Reactive Programmingというまあ研究的には随分前

2014-04-19 07:35:44
kmizu @kmizu

からある用語があるわけでして。しかもそれは、Reactive Applicationで言っているのとは異なる手法というか、むしろ言及されているイベント駆動(Event-Driven)のプログラミングとかとは衝突する考え方なのがイケてない。

2014-04-19 07:39:54
kmizu @kmizu

ちなみに、OderskyはFRPについては当然知ってるので、そういうイケてない用語を広めるのはなんだか微妙感がある。 つかですね、"Deprecating Observer Pattern"なんてタイトルのtech reportを http://t.co/RgHN7da0ip

2014-04-19 07:44:21
kmizu @kmizu

出してるわけでして。いやまあ、Reactive Programmingの名前自体は汚染していない(Reactive Application等と呼んでいる)のはましかもしれないけど、うーん。

2014-04-19 07:45:57