これは凄い。JavaScriptで作られたPHP VM「php.js」
php.jsはJavaScriptで作られたPHP VMです。PHPコードをJavaScriptに変換して実行します。
世の中には色々変わったことを考える人がいます。Webブラウザでデフォルトで実行できるプログラミング言語がJavaScriptだけなんて許しがたい、そう考えたPHPプログラマーが生み出したのがphp.jsです。その名の通り、PHPの実行エンジンをJavaScriptに実装したというとんでもないソフトウェアになります。
![]()
確かに実行できています。PHPのコードからJavaScriptに変換を行っているようです。
![]()
配列、クラスさらにvar_dumpまで実装されているのが興味深いです。
![]()
かなり突っ込んだPHPの処理もできている模様です。これは面白い。
![]()
ダブルクオートの中に変数を入れて普通に出力できているのが興味深いです。
php.jsではPHPのコードがそのまま実行できます(もちろんできないコードもあると思われますが)。クラスが使えて、create_functionもできます。PHPで書かれたコードを一旦JavaScriptに変換した上で実行していますので、変換エンジンさえ高速であれば意外と使えるのではないでしょうか。Webブラウザの他、node.jsでも動作するようです。
php.jsはJavaScript製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。
MOONGIFTはこう見る
Webブラウザでは標準のままではJavaScriptしか動作しないというのは他のプログラミング言語にとって大きなマイナスになります。GoogleはDartを推していますが、Google Chrome以外のWebブラウザで取り入れられる、さらに全てのブラウザで使えるようになる可能性はほぼないと言えるでしょう。他の言語についても同様と言えそうです。
しかしWebブラウザ上で他の言語を動かそうという試みは決して少なくありません。php.jsもそうですが、HotRubyはRubyをWebブラウザ上で動かそうとしています。mrubyであればJavaScriptによるVMを作ることだってできるかも知れません。今後もずっとJavaScriptだけというのはWebのオープン性をマイナスではないでしょうか。他の言語もうまく動かせる仕組みが望まれます。