web-dev-qa-db-ja.com

Jythonとは何ですか?それはまったく役に立ちますか?

Pythonは知っていますが、Jythonとは何ですか?

  • Jythonはいつ必要になりますか?
  • 欠点は何ですか?
  • 遅いと思いますか?

詳細を記入してください!ありがとう。

27
TIMEX

引用 ウィキペディア

JPythonの後継であるJythonは、Javaで記述されたPythonプログラミング言語の実装です。

それが持つかもしれない用途に関して:

Jythonプログラムは、任意のJavaクラスをシームレスにインポートして使用できます。一部の標準モジュールを除いて、JythonプログラムはJavaモジュールの代わりにPythonクラスを使用します。

Jython、IronPython、およびCPythonのパフォーマンス測定では、データセットが大きい場合に、JythonとIronPythonの両方がCPythonよりも優れていることが示されています。

27
Joey

Pythonを知っていて、「Pythonic」のやり方を取り入れている場合、Jythonではその哲学をJVMスタックに取り入れることができます。これを行うと、それだけではありません。スクリプト機能の追加。

最新のプロジェクトでは、すべてのカスタムロジックとビジネスロジックがJythonに組み込まれていると同時に、Solr、Jasperreports、Quartz、Jettyなどの優れたテスト済みのJavaライブラリを活用できます。 、いくつか例を挙げると速度。

バイトコードにコンパイルされますが、追加のレイヤーが追加されていますが、たとえばストレートJDBCの代わりにORMを使用するのと同じです。

生産性で得られるものは、パフォーマンスで失われるわずかなものをはるかに上回ります。

サーバー側では、Jythonがボトルネックになることはめったにありません。ミニデスクトップアプリの場合、問題が発生する可能性がありますが、実行しようとしていることに大きく依存します。

最新のJDKは、JettyやTomcatなどのコンテナーとともに、非常に成熟していて安定しており、多くの場合、上にPythonを追加すると、両方の長所が得られます。

9
Ron

Jythonはいつ必要になりますか?

Pythonでプログラミングしたいが、結果をJava仮想マシンで実行する必要がある(または必要な)場合、または既存のJavaコンポーネント。

欠点は何ですか。

JythonはPythonと100%互換性がない可能性がありますが、非互換性はバグと見なされます。後でCPythonで実行する必要がある場合は、Javaコンポーネントを使用するコードを書き直す必要があります。

遅いと思いますか?

それは、いつものように、特定のユースケースによって異なります。実際には、CPythonよりも高速な場合があります。そしてもちろん、それはあなたが実行している特定のJVMに依存します-これらは常に良くなります。

6

他の2つの理由:

  • 大規模なJavaアプリケーションへのスクリプトの埋め込み。
  • Javaスレッドを使用して、Jythonでマルチスレッドプログラムを記述します。
5
Richie

JythonはPython実装であり、JVM上で実行されます。理論的には、JythonはCPythonよりも少し遅いです。

ここでいくつかのベンチマークを見つけることができます: http://www.smallshire.org.uk/sufficientlysmall/2009/05/22/ironpython-2-0-and-jython-2-5-performance-compared-to -python-2-5 /

4

Jythonはいつ必要になりますか?

たとえば、コードに素敵なスクリプト言語を追加します。

欠点は何ですか?

主な欠点は、Jythonが公式のCPythonディストリビューションよりも遅れていることです。現在、CPythonが3.1のときに、Python 2.5.2と互換性のあるバージョンのJythonを入手できます。

また、一部の難解なモジュールはサポートされていません。通常、Javaの代替品に気付かないか、簡単に見つけることができません。

遅いと思いますか?

何と比べて?通常、それは十分に高速であるか、そうでない場合は、Pythonの数行をはるかに高速なJavaの約1,000行に置き換えることができます。

4
Aaron Digulla

Jythonはいつ必要になりますか?

JDBCドライバーをテストするにはJythonが必要です。私が仕事で使用するアプリの中にはODBCを使用するものもあれば、JDBCを使用するものもあります。 Jythonを使用すると、1つのPythonソースから両方のタイプのドライバーをテストできます(テストするにはODBC JDBC-ODBCブリッジを使用します))。

1
Michał Niklas

Jythonはいつ必要になりますか?

Jythonを使用して、Websphereアプリケーションサーバーの管理スクリプトを作成できます。スクリプトは、一般的な管理タスクを自動化し、Websphereアプリケーションサーバーのセキュリティを構成するために使用されます。

WebSphereは、JMX APIを利用して、内部WebSphereオブジェクトのAPIとして公開されるMBeanを作成します。 JythonスクリプトはJavaに基づいており、JVMで実行されるため、これらのオブジェクトにアクセスし、WebSphereの構成に利用できます。

さらに、Jythonでコードを書くのは楽しいし、新しい言語を学ぶことができます。

詳細はこちら

1
Priyabrata Hota

JVMはいくつかの素晴らしい動的最適化を行いますが、おそらく興奮することは何もありません。 JRubyは、最適化することにより、JVMでより高速に実行されることがあります( http://www.engineyard.com/blog/2009/j-is-for-jvm-why-the-j-in-jruby/ )頻繁に実行されるコードパスですが、それはPythonではなくRubyです。

Javaライブラリが主な理由です。多くの企業が、Pythonでスクリプト化できるJavaコード)の大きな塊を持っています。Jythonでスクリプト化できるオープンソースフレームワーク(StrutsとEclipseが頭に浮かぶ)もいくつかあります。

0
wisty

優れた速度パフォーマンスを実現したり、実際のマルチスレッドプログラムを実装したりするには、python(ネイティブ)から直接Javaスクリプトを呼び出すのが最善の方法です。 pythonスクリプトを準備してから、Javaスクリプトへの同時呼び出しのために残りをpythonに任せてください。

0
Lucky Pratama