Pythonは知っていますが、Jythonとは何ですか?
詳細を記入してください!ありがとう。
引用 ウィキペディア :
JPythonの後継であるJythonは、Javaで記述されたPythonプログラミング言語の実装です。
それが持つかもしれない用途に関して:
Jythonプログラムは、任意のJavaクラスをシームレスにインポートして使用できます。一部の標準モジュールを除いて、JythonプログラムはJavaモジュールの代わりにPythonクラスを使用します。
Jython、IronPython、およびCPythonのパフォーマンス測定では、データセットが大きい場合に、JythonとIronPythonの両方がCPythonよりも優れていることが示されています。
Pythonを知っていて、「Pythonic」のやり方を取り入れている場合、Jythonではその哲学をJVMスタックに取り入れることができます。これを行うと、それだけではありません。スクリプト機能の追加。
最新のプロジェクトでは、すべてのカスタムロジックとビジネスロジックがJythonに組み込まれていると同時に、Solr、Jasperreports、Quartz、Jettyなどの優れたテスト済みのJavaライブラリを活用できます。 、いくつか例を挙げると速度。
バイトコードにコンパイルされますが、追加のレイヤーが追加されていますが、たとえばストレートJDBCの代わりにORMを使用するのと同じです。
生産性で得られるものは、パフォーマンスで失われるわずかなものをはるかに上回ります。
サーバー側では、Jythonがボトルネックになることはめったにありません。ミニデスクトップアプリの場合、問題が発生する可能性がありますが、実行しようとしていることに大きく依存します。
最新のJDKは、JettyやTomcatなどのコンテナーとともに、非常に成熟していて安定しており、多くの場合、上にPythonを追加すると、両方の長所が得られます。
Jythonはいつ必要になりますか?
Pythonでプログラミングしたいが、結果をJava仮想マシンで実行する必要がある(または必要な)場合、または既存のJavaコンポーネント。
欠点は何ですか。
JythonはPythonと100%互換性がない可能性がありますが、非互換性はバグと見なされます。後でCPythonで実行する必要がある場合は、Javaコンポーネントを使用するコードを書き直す必要があります。
遅いと思いますか?
それは、いつものように、特定のユースケースによって異なります。実際には、CPythonよりも高速な場合があります。そしてもちろん、それはあなたが実行している特定のJVMに依存します-これらは常に良くなります。
他の2つの理由:
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 /
Jythonはいつ必要になりますか?
たとえば、コードに素敵なスクリプト言語を追加します。
欠点は何ですか?
主な欠点は、Jythonが公式のCPythonディストリビューションよりも遅れていることです。現在、CPythonが3.1のときに、Python 2.5.2と互換性のあるバージョンのJythonを入手できます。
また、一部の難解なモジュールはサポートされていません。通常、Javaの代替品に気付かないか、簡単に見つけることができません。
遅いと思いますか?
何と比べて?通常、それは十分に高速であるか、そうでない場合は、Pythonの数行をはるかに高速なJavaの約1,000行に置き換えることができます。
Jythonはいつ必要になりますか?
JDBCドライバーをテストするにはJythonが必要です。私が仕事で使用するアプリの中にはODBCを使用するものもあれば、JDBCを使用するものもあります。 Jythonを使用すると、1つのPythonソースから両方のタイプのドライバーをテストできます(テストするにはODBC JDBC-ODBCブリッジを使用します))。
Jythonはいつ必要になりますか?
Jythonを使用して、Websphereアプリケーションサーバーの管理スクリプトを作成できます。スクリプトは、一般的な管理タスクを自動化し、Websphereアプリケーションサーバーのセキュリティを構成するために使用されます。
WebSphereは、JMX APIを利用して、内部WebSphereオブジェクトのAPIとして公開されるMBeanを作成します。 JythonスクリプトはJavaに基づいており、JVMで実行されるため、これらのオブジェクトにアクセスし、WebSphereの構成に利用できます。
さらに、Jythonでコードを書くのは楽しいし、新しい言語を学ぶことができます。
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が頭に浮かぶ)もいくつかあります。
優れた速度パフォーマンスを実現したり、実際のマルチスレッドプログラムを実装したりするには、python(ネイティブ)から直接Javaスクリプトを呼び出すのが最善の方法です。 pythonスクリプトを準備してから、Javaスクリプトへの同時呼び出しのために残りをpythonに任せてください。