9 ポイント 投稿者 GN⁺ 2024-02-08 | 2件のコメント | WhatsAppで共有
  • Rustで書かれたオープンソースのPython 3(CPython >= 3.11.0)インタープリタ
  • Rustプログラムに組み込んで利用したり、WebブラウザでPythonを実行するためにWebAssemblyへコンパイルしたりできる
  • MITライセンス

目標

  • Rustのみを使用して完全なPython 3環境を実装する(CPythonバインディングなし)。
  • Rustで利用でき、またWebAssemblyへコンパイル可能な、高速で信頼性が高く安全なPython実装を目指す

RustPythonの利点

  • さまざまなPython実装が存在するが、RustPythonはRustプログラミング言語のためのもの
  • JythonとIronPythonがそれぞれJavaおよび.NETとの統合を可能にしたように、RustPythonはRustとの統合を目指している
  • Rustの最小ランタイムのおかげで、WebAssemblyへコンパイルしてブラウザ上でPythonコードを簡単に実行できる

インストール方法

GN⁺の見解

  • RustPythonは、Rustの安全性と性能を活用してPythonインタープリタを新たに実装したプロジェクト。
  • 既存のPython実装とは異なりRustベースで書かれており、RustとPythonの統合を強化し、WebAssemblyを通じてWeb上でのPython実行を可能にする。
  • 現在開発中のプロジェクトであり、Pythonエコシステムに新たな可能性を示し、RustとPythonを併用したい開発者にとって興味深い代替案になり得る。

2件のコメント

 
cosine20 2024-02-08

興味深いプロジェクトではありますが、私の考えではそこまで有用かどうかはまだ分かりませんね..
前でも言及されていましたが、Jython や IronPython も結局は CPython のバージョン追従が大変で、非常に限られた場面でしか使える選択肢になってしまいましたし、他の人たちが RustPython に期待している部分を満たすには、まだかなり長い道のりがあると思います。

 
GN⁺ 2024-02-08
Hacker Newsの意見
  • "it can be compiled to WebAssembly in order to run Python in the browser."

    • あるユーザーは、CPythonとNodeJSを使った類似のアプローチを見たことがあり、この方式は実用的ではないと考えている。
    • WebAssembly(Wasm)にコンパイルされたランタイム上でPythonコードを実行するのは、性能低下を二重に受けることになる。
    • 動的型付け言語をWasmランタイムで実行するには、その言語自体が直接Wasmにコンパイルされる必要がある。
    • このプロジェクトは依然として素晴らしく有用であり、ブラウザで使えるPythonコードが多いとはいえ、この方法でWebフレームワークを構築しようとすべきではない。
    • RustPythonについて性能ベンチマークは行っておらず、RustPythonがまだ知られていないいくつかのトリックを使っている可能性があることも認めている。
  • 関連リンク:

    • RustPythonはRustで書かれたPython 3インタープリターで、Hacker Newsに複数回投稿され、そのたびにさまざまなコメントが寄せられている。
  • MicroPythonに対する肯定的な意見:

    • あるユーザーはMicroPythonが素晴らしいと述べ、RP2040で動作していることを明かしている。
  • RustPythonに対するさまざまな意見:

    • RustPythonがIronPythonの後継だと考えているユーザーがいる。
    • Pythonに健全なサードパーティ製インタープリターのコミュニティがあるのは素晴らしいと考えるユーザーがいる。
    • CPythonとの違いを明らかにする問題について知りたがっているユーザーがいる。
    • RustPythonの進展を喜ぶユーザーがおり、Wasmerを使ってRustPythonを実行する方法を共有している。
  • RustPythonの限界に関する意見:

    • RustPythonのようなプロジェクトが広く適用されるかどうか確信が持てないユーザーがいる。
    • Pythonの価値はネイティブライブラリとのインターフェースにあり、PyPyのようなものを使うとそのアクセス性をすべて失ってしまうと指摘している。
  • JythonとIronPythonに対する批判的な意見:

    • Python 2が消えた今、Python 3への移行に失敗したJythonとIronPythonは言及する価値がないと主張するユーザーがいる。
  • RustPythonを使ったプロジェクト経験の共有:

    • あるユーザーは、インターネットコンピュータープロトコル向けのPython環境であるKybraプロジェクトのインタープリターとしてRustPythonを使っており、WasmがICPのランタイム環境であることを明かしている。
    • C拡張がないことは問題だが、wasiとC拡張サポートの準備が整えばCPythonへ移行する計画だと述べている。
  • RustPythonの性能比較:

    • あるユーザーは、RustPythonがCPythonより約11倍遅いことをフィボナッチ数列の計算で確認し、その結果を共有している。