メッセージ。 - Ajaxのその先を妄想
# Ajaxのその先を妄想
こんなことを思い付いた! Ajaxが何かってのはよく分かってないけど、その1つの効用として、「クライアントのCPU/メモリ資源を使えること」があると考える。そうすると、サーバーとかクライアントとか分けるのは面倒だ。ちょっと長いケーブルでつながった1台の計算機として考えてしまいたい。だけどHTMLベースのアプリケーションではまだそれを実現する実装はない。これをAjaxというか、Lisp/Scheme on JavaScriptで実現したらどうだろうか。
サーバーではアプリケーションのインスタンスを(Schemeの継続とかで)吐き出し、クライアントでそれを実行するんだ。そうすれば、クライアントのCPUをぶん回せるし、いちいちサーバーへデータを取りに行く必要もなくなる。サーバーはアプリケーションのランチャでありストレージとしての役割だけを果たせばよい。クライアントでread/writeが発行されたときだけ、サーバーにアクセスすればいいんだ。
どうかなぁ?
サーバーではアプリケーションのインスタンスを(Schemeの継続とかで)吐き出し、クライアントでそれを実行するんだ。そうすれば、クライアントのCPUをぶん回せるし、いちいちサーバーへデータを取りに行く必要もなくなる。サーバーはアプリケーションのランチャでありストレージとしての役割だけを果たせばよい。クライアントでread/writeが発行されたときだけ、サーバーにアクセスすればいいんだ。
どうかなぁ?
Comment
# S式をやりとりするの...
継続をネットワーク越しに送るのは難しそうですね。
こんな話題がありました。
http://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Gauche%3a%a5%d7%a5%ed%a5%bb%a5%b9%a4%f2%b1%db%a4%a8%a4%bflambda%a4%ce%b0%dc%c1%f7
# なるほど。継続をプロ...
あと、ちょっと話題が逸れますが、別スレッド経由でShiroさんからご意見をいただきました。「JavaScriptでSchemeを実装するのではなく、Scheme(っぽい言語)からJavaScriptのコードを吐くコンパイラを作る手もあるよ」とのことです。まだいろいろ検討の余地がありそうですね。
# えっと、その場合はど...
サーバ側にScheme(っぽい言語)からJavaScriptへのコンパイラを持たせて、
クライアント->Scheme(っぽい言語)->サーバ(コンパイル)
サーバ->JavaScript->クライアント(eval)
でしょうか。なんだか頭が痛くなってきました。
# ああ、言葉足らずです...
ぼくがShiroさんの言葉を解釈した限りでは、後半(サーバ->JavaScript->クライアント)だけの提案かな?と感じました。
ソースコードはScheme(っぽい言語)で書いておいて、CGIが呼び出されたときにサーバー上でScheme(っぽい言語)からJavaScriptに変換、クライアントではJavaScriptのコードを実行するということですね。JavaScriptでSchemeを実装するよりは、そのほうがラクというアプローチなんだと思います。
Shiroさん曰く「JavaScriptをポータブルアセンブラくらいに割切って『コンパイラ』にしてしまう(『トランスレータ』ではなく)」とのことでした。たぶんこの方法だと、アプリケーションのインスタンスをネットワーク越しにやりとりといった手法の実現は、別に考えなければいけないでしょうね。
# hirofummyさん仕事早っ!
とのことです。
# アプリケーションをそ...
円周率の計算をクライアントに分散するというページです。
http://k2works.sub.jp/ajax/pai/
# なるほどー。面白いで...
Trackback