【コンピュータ】Cをブラウザで実行

http://journal.mycom.co.jp/news/2008/07/10/031/index.html

タイトルのとおりだから、読めばわかる、としか言えない話題だったりするけど。
ただ、ブラウザで実行するまでの手順が、なかなか。
以下、リンク先から引用。

  1. CソースコードLLVM命令へ変換する(llvm-gccかまたはこれのカスタム版か)
  2. LLVM命令をActionScriptが実行できる仮想マシン向けの命令へ変換
  3. Adobe FlashActionScriptをかませることで自動的にTamarinバイトコードへ変換
  4. TamarinバイトコードTamarin JITによって実行時にネイティブコードへ変換され実行

なんか、TVカードでキャプチャしたVOBを、編集用の一時形式にして、編集しつつ無圧縮AVIに変換して、さらにMPEGに書き出して、最終的にXViDで圧縮かけながら3GPPにして携帯に持ち込んだ作業を思い出した。


いやまぁそれは冗談にしても。
この技術が一般的なところまでくれば、いままでに作られたものすごい数のアプリケーションがFlashで動くようになるわけで。
記事によると、影響はCだけに留まらず、CでコンパイルしたLuaRubyPerlPythonなんかの言語も動くようになる、らしい。
これ、かなりワクワクする規模の話じゃないかい?

「彼は、世界中の家の、裏口の鍵を持っていた」

「え?」

「彼は、その秘密の鍵で、どこにでも入っていけた。それは十年以上も続き、最後に彼が告白するまで、誰も気づくことはなかった
 しかし、彼が持っていたものは『なんでも開けることができる魔法の鍵』なんかではなかった。どうやったかわかるかい?

「‥‥」

「彼は、『扉を作る機械』に対して、『私が持つこの鍵で開く扉を作るように』と、魔法をかけたのさ。いや、正確には、『扉を作る機械を作る機械』にかな」

「えぇと‥‥?」

「昔話だよ。でも、この世界で生きていくのなら、知っていたほうがいい。真に見えない罠は存在する、とね」

参考:Ken Thompson氏 - えびめも