グループで利用できるアプリケーションを開発したいと思います。 Pythonを使用して開発することにしましたが、python 2.Xまたはpython 3.Xを使用することを考えています。python 2.X、将来のためにアップグレードする必要があります...しかし、より成熟していて、多くのツールとライブラリがあります。3.Xを使用して開発する場合、将来について考える必要はありません。統合されていますが、現在、ライブラリは多くありません。実行可能ファイルへのpythonでも、すべてのプラットフォームで使用できるわけではありません。
また、考慮事項の1つは、これがまったく新しいアプリケーションであるため、古いライブラリを維持するための履歴の負担がないことです。
このジレンマに関する推奨事項はありますか?
このアプリケーションの詳細:
それは本当にあなたのアプリケーションが何をするか、そしてあなたが利用したいライブラリの種類に依存します。 python 3.xの最大の欠点は、ライブラリ/フレームワークのサポートがないことです。Webアプリケーションを構築している場合、2.xを使用することによる欠点はほとんどありません。選択できるフレームワークとライブラリの配列がはるかに広くなります。 これが良い記事です on python 2.x vs 3.x.
言語/プラットフォーム/フレームワークを選択する際のいくつかの一般的な考慮事項:
お役に立てれば。
まず、最新のものと成熟したものが常に対照的であるとは限りません。
たとえば、Pythonの場合、2.xが3.xよりも「成熟している」とは言えません。逆に、いくつかの点で3.xはより成熟しています。クラス、Unicodeサポート、そしてもちろんバグの修正。
一方、Python Twisted-のcampareNode.JS-そしてTwistedは最新の焼けるように暑いNode.JSよりも成熟していると言えます。
さて、あなたが行くべきことは、約2.x/3.xよりも、保守性の観点からあなたが扱えることについてです。
後でアプリを3.xにアップグレードするのにそれほど苦労しないことがわかっている場合は、今すぐ2.xを使用して、2.xエコシステムを活用できます。
一方、アプリを3.xにアップグレードするのはメンテナンスの悪夢であり、不足しているライブラリやツールを自分で開発しても問題ないと思われる場合は、必ず3.xを使用してください。
Windowsを実行可能ファイルにする必要がある場合は、py2exeが望ましいので、w /2.xを使用することをお勧めします。
他にもウィンドウフリーズツールがありますが、私が尊敬している教祖はpy2exeによって誓い、それは常に私によって正しく行われてきました。
また、Pythonの新しいバージョンに移植する際の実際の難しさを考慮することもできます。たとえば、現在のプロセス(2.xから3.x)はそれほど悪くはなく、2to3のようにある程度の自動化を提供するツールもあります。
参照: http://docs.python.org/release/3.0.1/library/2to3.html#to3-reference
また、pythonのメジャーバージョン(「新着情報」ページ)と他の将来のAPIとの間の変更をチェックして、リビジョンの違いの潜在的な範囲を把握する必要があります。
新しいものがより大きく/より良くなるという問題に関しては、それは本当かもしれませんが、あなたが使用している、または使用することを検討するすべての改善されたアイテムのサブセットにあるものに関心を持ってください。