Shed SkinはPythonのコードをC++に変換するコンパイラ。

Shed SkinはPython製のオープンソース・ソフトウェア。プログラミング言語というのは世の中にたくさん存在する。コンパイルする言語もあれば、スクリプトとして実行されるものもある。どれが好きかはプログラマー次第だが、仕様によって言語の選定がしぼられることも多い。


変換処理

そうした言語間の垣根を越える技術もたくさん登場している。言わばランタイムを実装する系統のやり方だが、もう一つ別な言語に置き換えてしまうものもある。その一つ、PythonをC++にしてしまうShed Skinを紹介しよう。

Shed Skinはまだまだ開発中であり実用レベルという訳ではない。だが幾つかのプログラムでは実際に変換ができるようになっている。Pythonでは変数は特定の型を宣言しないため、Shed Skinでは型推論を用いている。また、Pythonの標準ライブラリは使えないものもある。


生成されたコード

Shed Skinを実行するとC++のコードに加えてMakefileも生成される。後はmakeを実行して“エラーが出なければ”完了だ。スクリプトと違ってコンパイルされているので高速になるのは期待できるが、一部においてはCPythonのが速い場合もあるそうだ。その辺りも自分のコードで確かめつつ試してみて欲しい。

MOONGIFTはこう見る

プログラミングコードの変換が自在にできるとすれば、とても面白いことになるだろう。自分が得意な言語で別な環境においてもネイティブに動作するというのは面白い。C++はGoogle ChromeのNative Clientでもサポートされる言語なので、Pythonを通じてWebベースのネイティブアプリが作れるなんてことになるかも知れない。

同様の試みとしてはFacebookのPHPをC++に変換するプロジェクトが知られている。あちらは既にFacebook内で使われるほどの実用レベルになっている。他のスクリプト言語も高速化のためにC++に変換してしまうというのは面白そうだ。

shedskin - An experimental (restricted) Python-to-C++ compiler - Google Project Hosting