メッセージ。 - Ajaxのその先を妄想

# Ajaxのその先を妄想

こんなことを思い付いた! Ajaxが何かってのはよく分かってないけど、その1つの効用として、「クライアントのCPU/メモリ資源を使えること」があると考える。そうすると、サーバーとかクライアントとか分けるのは面倒だ。ちょっと長いケーブルでつながった1台の計算機として考えてしまいたい。だけどHTMLベースのアプリケーションではまだそれを実現する実装はない。これをAjaxというか、Lisp/Scheme on JavaScriptで実現したらどうだろうか。

サーバーではアプリケーションのインスタンスを(Schemeの継続とかで)吐き出し、クライアントでそれを実行するんだ。そうすれば、クライアントのCPUをぶん回せるし、いちいちサーバーへデータを取りに行く必要もなくなる。サーバーはアプリケーションのランチャでありストレージとしての役割だけを果たせばよい。クライアントでread/writeが発行されたときだけ、サーバーにアクセスすればいいんだ。

どうかなぁ?
2005-03-14 10:46:08 / ふじさわ / Comment: 7 / Trackback: 0

Comment

# S式をやりとりするの...

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
2005-03-14 13:09:47 / いわた / Comment: 0 / Trackback: 0

# なるほど。継続をプロ...

なるほど。継続をプロセス外に出すのはやっぱり難しそうですね。サーバーではSchemeプログラムを吐き出してクライアントにロードし、データI/Oのみサーバーに取りに行くほうがやっぱり断然ラクか…。ううう、でもアプリケーションのインスタンスをマシン間で動かすほうが楽しそうですよね。

あと、ちょっと話題が逸れますが、別スレッド経由でShiroさんからご意見をいただきました。「JavaScriptでSchemeを実装するのではなく、Scheme(っぽい言語)からJavaScriptのコードを吐くコンパイラを作る手もあるよ」とのことです。まだいろいろ検討の余地がありそうですね。
2005-03-14 16:55:13 / ふじさわ / Comment: 0 / Trackback: 0

# えっと、その場合はど...

えっと、その場合はどうイメージしたらいいのでしょう。
サーバ側にScheme(っぽい言語)からJavaScriptへのコンパイラを持たせて、
クライアント->Scheme(っぽい言語)->サーバ(コンパイル)
サーバ->JavaScript->クライアント(eval)
でしょうか。なんだか頭が痛くなってきました。
2005-03-14 18:50:43 / いわた / Comment: 0 / Trackback: 0

# ああ、言葉足らずです...

ああ、言葉足らずですみません。
ぼくがShiroさんの言葉を解釈した限りでは、後半(サーバ->JavaScript->クライアント)だけの提案かな?と感じました。

ソースコードはScheme(っぽい言語)で書いておいて、CGIが呼び出されたときにサーバー上でScheme(っぽい言語)からJavaScriptに変換、クライアントではJavaScriptのコードを実行するということですね。JavaScriptでSchemeを実装するよりは、そのほうがラクというアプローチなんだと思います。

Shiroさん曰く「JavaScriptをポータブルアセンブラくらいに割切って『コンパイラ』にしてしまう(『トランスレータ』ではなく)」とのことでした。たぶんこの方法だと、アプリケーションのインスタンスをネットワーク越しにやりとりといった手法の実現は、別に考えなければいけないでしょうね。
2005-03-14 19:15:33 / ふじさわ / Comment: 0 / Trackback: 0

# hirofummyさん仕事早っ!

http://hirofummy.net/himo/index.cgi?1110805927.txt
 S-expression->JavaScript
 ネタ振りされたのでとりあえず書いてみました。と言っても、ごく退屈なトランスレータです。

とのことです。
2005-03-14 23:05:09 / ふじさわ / Comment: 2 / Trackback: 0

# アプリケーションをそ...

アプリケーションをそのまま投げるわけではありませんが
円周率の計算をクライアントに分散するというページです。
http://k2works.sub.jp/ajax/pai/
2005-03-18 09:51:50 / SHIMADA / Comment: 0 / Trackback: 0

# なるほどー。面白いで...

なるほどー。面白いですね。研究けんきゅう!
2005-03-18 14:51:52 / ふじさわ / Comment: 0 / Trackback: 0
コメント投稿機能は無効化されています。

Trackback

TrackBack投稿機能は無効化されています。