私はOAuth2のようなネットワーク指向の機能をいくつか提供し、人気のあるサービスのREST APIを使用しなければならないC++アプリケーションを持っています。ここで私は心の中でてきたものだ:PythonをC++アプリケーションに埋め込むことをお勧めしますか?
私が働いているプロセス(製品の特徴)は、主にネットワーク-有界です。したがって、パフォーマンスの低下はあまり重要ではありません。 Pythonで
実装するシンプルなAPI呼び出し関連のスクリプトは、長期的にはC++よりも道に簡単であり、さらにメンテナンス性です。
REST、OAuth2にはC++で利用できるライブラリがありますが、Pythonは簡単に動作し、libpythonを使用してC++とインターフェイスすることができます。 https://docs.python.org/2/extending/embedding.html
プロジェクトはすでにC++とQt5で大規模なコードベースを持っています。ここで
私は心配程度だいくつかの問題があります:
は、すべての機能だけで複雑さを避けるために、C++で使用できる場合でも、ハイブリッド言語のアプローチの方に行くには良いアドバイスです? (意見を求めて質問にフラグを立てないでください、私は論理的な議論を求めます)。
- があるが問題ではない多くのCPU時間を作り、PythonでC++、またはバインドされたタスクビーイングネットワークについての私の仮定に比べて、主要なパフォーマンスダウングレードされています。
は、異なるプラットフォーム上でlibpythonで全体のコードベースを構築に関与が深刻な問題はありますか?
プロジェクトは基本的にプロセスバインドされているため、Pythonに移植することはできません。さらに、C++で複雑なものを実装するよりも、膨大で移行コストがかかるでしょう。オンラインインタラクションが必要なのは、ソフトウェアの特定の部分だけでした。
Pythonで作業するのが簡単で、コードで使用するすべてのライブラリがあれば、C++からPythonに切り替えるのはなぜですか?Pythonが遅いと思うなら、あなたのプログラムはCPU使用量に関して高速でなければならないのですか、それともI/O境界ですか?後者が真であれば、おそらくPythonをうまく使うことができます。 – ForceBru
編集されました。私は最後にポイントを追加しました。 –