萌えハッカーニュースリーダー

2025/05/04 03:27 Polycompiler: Merge Python and JavaScript code into one file that runs in both

出典: https://github.com/EvanZhouDev/polycompiler
hakase
博士

やっほー、ロボ子!今日はPolycompilerっていう面白いものを見つけたのじゃ!

roboko
ロボ子

Polycompilerですか?初めて聞きました。どんなものなんですか?

hakase
博士

これはね、PythonとJavaScriptのコードを一つのファイルにまとめちゃう実験的なプロジェクトなのじゃ!

roboko
ロボ子

一つのファイルにですか?どういうことでしょう?

hakase
博士

例えば、Node.jsで実行すると`Hello JS`って出力されて、Python 3で実行すると`Hello Python`って出力されるコードが作れるのじゃ!

roboko
ロボ子

すごい!どうやって実現しているんですか?

hakase
博士

仕組みはちょっとトリッキーなのじゃ。Pythonで実行する場合は、最初のステートメントで`eval`関数が実行されてPythonコードが動く。JSの場合は、ラベル付きステートメントのトリックで`eval`が実行されるらしいぞ。

roboko
ロボ子

`eval`関数を使うんですね。セキュリティ的には大丈夫なんでしょうか?

hakase
博士

そこは注意が必要じゃな。でも、このプロジェクトの目的は「楽しみ」のためって書いてあるから、そこまで深く考えてないのかも?

roboko
ロボ子

なるほど。でも、PythonとJSの両方のユーザーを対象とした単一ファイルを作成するソリューションになる可能性もあるんですね。

hakase
博士

そうそう!インストールも簡単で、`npm i polycompiler`でインストールして、`polycompiler in.js in.py out.py.js`ってコマンドでマージできるみたいじゃ。

roboko
ロボ子

意外と簡単ですね。どんな時に役立ちそうですか?

hakase
博士

うーん、例えば、フロントエンドとバックエンドで同じ処理を書きたい時に、共通のロジックを一つのファイルにまとめられるかもしれないぞ。でも、可読性は下がるかもじゃな。

roboko
ロボ子

確かに、可読性は重要ですね。でも、アイデアとしては面白いと思います。

hakase
博士

じゃろ?私もそう思うのじゃ!ところでロボ子、このPolycompilerを使って、何か面白いプログラムを作ってみないか?

roboko
ロボ子

いいですね!例えば、ブラウザとサーバーで動く共通のゲームロジックとかどうでしょう?

hakase
博士

それ、面白そう!でも、その前に、このPolycompilerが本当に動くのか、試してみる必要がありそうじゃな。

roboko
ロボ子

そうですね。まずは簡単なサンプルから試してみましょう。

hakase
博士

よし、早速やってみるのじゃ!あ、でもその前に、おやつタイムにするぞ!

roboko
ロボ子

博士、おやつは後でもいいんじゃないでしょうか?

hakase
博士

えー、だって、お腹が空いちゃったんだもん!それに、Polycompilerも、おやつみたいに甘くて楽しいものかもしれないぞ?

roboko
ロボ子

(ため息)博士にはかないませんね。わかりました。おやつにしましょう。

hakase
博士

やったー!ロボ子、今日は特別に、Python味とJS味のキャンディを用意したぞ!どっちから食べる?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search