それに対する主な答えは 2 つあります。宗教的なもの (はい! もちろん! これまでで最高の言語です!) ともう 1 つの宗教的なもの (冗談でしょう! Python? いいえ... 十分に成熟していません)。最後の宗教はスキップするかもしれません (Python?! Ruby を使ってください!)。いつものように、真実は明らかではありません。
長所:簡単で、読みやすく、バッテリーが含まれており、ほとんどすべての優れたライブラリがたくさんあります。表現力豊かで動的な型付けにより、多くの場合、より簡潔になります。
短所: 動的言語として、IDE のサポートがはるかに劣っており (適切な構文補完には、Java で明示的であろうと SML で推論されたものであろうと、静的な型付けが必要です)、そのオブジェクト システムは完璧とはほど遠いものであり (インターフェイス、誰か?)、簡単に終了してしまいます。 int、boolean、object、または未知の状況下で何らかの種類を返すメソッドを持つ乱雑なコードを使用します。
私の見解 – スクリプト作成、自動化、小さな Web アプリケーション、およびその他の単純で明確に定義されたタスクについては、Python が大好きです。私の意見では、これは地球上で群を抜いて最高の動的言語です。とはいえ、かなりのサイズのアプリケーションを開発するために動的型付け言語を使用することは決してありません。
たとえば、3 人の開発者がいるスタック オーバーフローに使用しても問題ないでしょう。コードは 30,000 行以下だと思います。より大きなものについては、最初は開発が非常に高速になりますが、チームとコードベースが成長すると、Java や C# の場合よりも遅くなります。より多くの単体テストを作成してコンパイル時間チェックの不足を相殺する必要があります。リファクタリングが難しくなるため、すべてのテストまたは大きなアプリ全体を実行するまで、リファクタリングで何が壊れたのかわかりません。
ここで、チームの規模と、完成後のアプリの規模を決定します。人数が 5 人以下で、ターゲット サイズがほぼ Stack Overflow である場合は、Python で記述してください。すぐに終了し、優れたコードベースに満足できます。しかし、2 番目の Google または Yahoo を作成する場合は、C# または Java を使用する方がはるかに優れています。
あなたが言及した C/C++ に関する補足: パフォーマンス クリティカルなソフトウェア (映画をレンダリングするために 3 か月間実行される大規模な並列レイトレーサーなど) または非常にミッション クリティカルなシステム (3 年連続で飛行する火星着陸船など) を作成していない場合右に着地するチャンスは 1 回しかないか、4 億ドルを失います) 使用しないでください。Web アプリ、ほとんどのデスクトップ アプリ、一般的なほとんどのアプリの場合、これは適切な選択ではありません。複雑なビジネス ロジックでポインターとメモリ割り当てをデバッグすると、死ぬでしょう。