それはすべて、あなたが実際に何をしようとしているのか、そしてあなたの要件が何であるかに依存します。
このようなものに本当の「正しい」言語はありません。ほとんどの場合、これらの言語で使用するフレームワーク(すべて汎用プログラミング言語であるため)と個人的な好み/経験によって決まります。
Pythonについては、実際に試したことがないのであまりコメントできませんが、聞いた/見たところ、Rubyも使用されていますが、Pythonを取り巻くコミュニティは少し小さく、Pythonが多く使用されています。科学コミュニティでもっと(あなたのアプリがクレイジー計算をしているかもしれないならそれは良いかもしれません)。
それがRubyにつながります。RubyとRubyonRailsフレームワークは、主にWebアプリケーションとサービスの作成に使用されます。Rubyはプログラミングするのに非常に洗練された言語であり、ツールは非常に成熟していて操作が簡単です。RailsはRubyのフレームワークであり、データ駆動型Webアプリの作成に特に適した非常に優れたツールセットをWeb開発で非常に簡単に提供します。非常に柔軟性があり、一緒に仕事をする喜びがあります。ただし、現時点でRubyにはいくつかの欠点があり、主にスレッド化が不十分であることに関連しています。
Node.JSはパラレリズムに焦点を当てた新しい言語であり、RubyとPythonが実行できるすべてのことをサポートしますが、Rubyが提供するものと比較してドキュメントが不足しています。また、JavaScriptはすべての癖があり、コールバック指向の非同期モデルは最も単純なものではないため、これは最も初心者に優しい選択ではありません。
とは言うものの、ノードは非常にベアメタルであり、HTTPを介して動作する必要のない任意のTCP/UDPサーバーを非常に簡単に作成できます。カスタムストリーミングプロトコルまたはカスタムプロトコルは、実際にはノードでほとんど簡単に実行されます。(これを行うことはお勧めしませんが、タスクにとって重要な場合があります)。
公平を期すために、ノード用のWebアプリの作成を容易にするフレームワークがありますが、coicesはa)RailsやDjangoほど成熟しておらず、b)フレームワークの選択肢を選択する必要があります。
つまり、Railsには多くのデフォルトがあり(たとえば、Railsには最適化されたデフォルトのデータベーススタックがあります)、Expressなどのフレームワークを備えたNodeは、必要な最低限のHTTPサーバーのみを提供します。選択したデータベースなどで...
最後に:あなたが質問したすべての言語とフレームワークは、主にWebアプリケーションの作成に使用されます。ただし、これらはすべて、サービスを利用するクライアントを作成するためにも使用できます。ほとんどの場合、一般的な好みになります。