C言語をブラウザで実行、Ruby/Python/Perlも然り

 

Mozillaの研究部門に所属しているAtul Varma氏のブログにおいて、Running C and Python Code on The Webのタイトルで興味深い内容が紹介されている。タイトルだけ見るとWebアプリケーションでC言語やPythonのコードを実行すると言う話のようだが…

同氏のブログによれば、Adobe Systems, Scott Petersen氏が現在C言語で作成したコードをTamarin仮想マシンで実行できるようにするツールチェインを開発しており、近々オープンソースソフトウェアとして公開するという。TamarinはAdobeからMozillaへ寄贈されたJavaScriptエンジンだ。Firefox 3.0には取り込まれていないが将来的にはTamarinベースのJavaScriptエンジン実装がFirefoxに取り込まれるとみられている。時期は未定だがFirefox 4からの導入が濃厚だろう。

Scott Petersen氏の取り組んでいる内容は次のようなもの。

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

ActionScriptに変換されてからは、いくつかの拡張は必要になるものの基本的に現在実現されている処理に載せるだけだ(3. 4.が該当)。彼の取り組みで注目すべきところは、CをいったんLLVM命令に変換したあとでActionScriptへ変換しているところにある。ActionScriptはECMAScriptの一種で、JavaScriptによく似ている。

Scott Petersen氏によって開発されているツールチェインはFlashにアクセスするためのCライブラリやカスタムPOSIXシステムコールAPIなども含められているという。またオーバーヘッドの少ないメモリマッピングも検討されているようだ。

これはC言語で開発されたアプリケーションがAdobe Flashで動作するようになることを意味している。Scott Petersen氏のデモンストレーションではFlashで動作するQuakeゲームやゲームエミュレータなどが示されたという。さらに同氏はC言語でコンパイルされたLua、Ruby、Perl、PythonがFlashで動作している様子も示したという。

AdobeやScott Petersen氏から正式発表はまだおこなわれていないため、事の真相については定かではないが、これが事実であればFlashは強力なサンドボックスプラットフォームになる可能性が高い。FlashでCベースのアプリケーションが動作するようになるほか、RubyやPython、Perlスクリプトが使えるようになる。もちろんOSネイティブに動作する場合と比較して制限ははいるだろうが、強力なプラットフォームが誕生することは間違いないだろう。今後の発表に期待したい。

関連キーワード


転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

雨宮慶太監督の『ゼイラム』と『ゼイラム2』がHDリマスターで初Blu-ray化
[22:23 9/30] ホビー
犬上すくね「ばうんさーず」1巻、頼りない叔父を守る保護者気どりの3姉妹
[21:38 9/30] ホビー
[新宿アニソンスコープ]小松未可子シングルが首位 Q-MHzとタッグ
[21:30 9/30] ホビー
世界最大級の音楽配信サービス「Spotify」上陸! - 日本市場における狙いと競合との差別化は?
[21:27 9/30] スマホとデジタル家電
カテキョで繋がる元野球部の先輩後輩、5年ぶりの再会描く南月ゆうのBL
[21:13 9/30] ホビー

求人情報