8

一般的な比較のためのリクエストにはなりません。

遊ぶ!つまり、コードはバイトコードに解釈され、実行時に JVM によってコンパイルされます一方、Ruby は動的言語であり、コードはリクエストごとに解釈されます。これは、すべてのプログラマーにとって明らかです。

もう 1 つの側面は、開発プロセスと言語の使いやすさです (強い型付けと弱い型付け)。

現在、Play! を使用して新しい Web サイトを開発しています。
だから、質問のために:

  1. HTTP サーバーのパフォーマンス(Play! は JVM 上で実行され、Ruby は動的です) - Web サイトにとって本当に重要ですか? 大きな違いはありますか?
  2. RoR には、より大きなコミュニティ、ソース、チュートリアルなどがあると思います。それともすべきですか?
4

2 に答える 2

6

まあ、それは依存します。

  1. Ruby は特に高速な言語ではありませんが、言語の実行速度がボトルネックになることはほとんどありません。私の経験では、Ruby の相対的な遅さは、多くの場合、外部サービス呼び出し (データベースなど)、アルゴリズムの問​​題 (同期、ブロックなど) の海の一滴にすぎません。サブルーチン)、および問題のドメインには一般的に不適切な設計の選択。テクノロジースタック全体を視野に入れてください。

  2. コミュニティは重要で、Ruby/Rails には非常に活発なコミュニティがあります。私の知る限り、Play の方が小さいですが、私自身の経験では、Java と Scala (および JVM 実装 (Ruby を含む) を持つ無数の他の言語) にも優れたコミュニティがあります。

これはすべて、アプリ (およびあなた!) の特定のニーズに依存します。Ruby が遅すぎる場合は、遅すぎます。Java にのみ存在するライブラリが絶対に必要な場合は、Java を使用してください。タスクに合わせてツールを選択してください。ただし、タスク全体 (およびそのタスクを完了するための自分のニーズ) を視野に入れておいてください。

于 2012-10-14T22:05:42.527 に答える
4

これらの 2 つのモデルには多くの違いがあります。パフォーマンスに関しては、Java ベースと RoR に関する私の意見:

1、JavaベースのWebサイト(複数のJavaアプリケーションサーバーで実行)には、マルチスレッドモデル(ローカルデータの読み取りが最速)、グローバルメモリ、リソースのプールが容易、あらゆる種類を接続するための効率的なクライアントがたくさんあるなど、独自の利点がありますサードパーティ OSS ツールの...

2、HTTPServer 接続の RoR (および Php) モデルは、アプリケーション層への要求を「プロキシ」する必要があります。マルチプロセス モデルにより、プロセス間通信が増加します。そして「動的言語」としては、パフォーマンスが低下します。

しかし、今日では、Web プログラミングは他のツールに依存して強化されています。キャッシュ、NoSQL (Memcached、Redis、TT/TC)、IPC/RPC フレームワーク (netty、akka、など) の広範な使用により、ボトルネックが解消されています。上記の両方のモデルが、大規模なネットワーク ソーシャル ゲームで使用されていることは知っていました。

于 2012-10-15T02:19:17.560 に答える