31

最近、クロスプラットフォームの汎用スクリプト言語としての Perl に恋をしてしまいました。Python も Ruby も、私にとって魅力的なものではありませんでした。

しかし、私はブラウザーで JavaScript を使用することに慣れてきており、V8 などの最新のエンジンでかなり優れたパフォーマンスを発揮しており、node.js はここ数年で本格的に普及しています。

しかし、node.js は主にサーバー側のネットワーク プログラミングを対象としています。ホームページで次のように宣言しています。

V8 に基づくイベント駆動型 I/O サーバー側 JavaScript 環境。

node.js が現在、Perl、Python、および Ruby の代替として、*nix および Windows の一般的なスクリプト言語としても適しているかどうかを知りたいです。

このように使用されているという話はあまり見つかりませんが、幅広いコミュニティがあるようで、この使用に適していないと言っているものは何もありません. このように広く使われていますか?それとも、この種のものの主要な機能やモジュールが不足していますか?

4

1 に答える 1

31

Node.jsに関しては、javascriptを汎用スクリプト言語として使用する主流の方法になるとは思えません。その主な理由は、Node.js で使用できるライブラリと関数の 99% が非同期であることです。非同期の性質のため、考え方を完全に変える必要があります。同期メソッドを使用できないことが障害です。コードがもはや線形ではないため、スクリプトのようなものは少なくなります。

したがって、ほとんどの場合、あなたが考えている単純な理由で採用は行われていません: Ruby/Python/... (5 つの異なるファイルをダウンロードして圧縮し、コピーしてみてください) Node.js を使用して別のフォルダーに)

人々が非同期的な考え方やプログラミングに慣れるにつれて、汎用スクリプト ツールとしての node.js の採用は変化する可能性があります。

ノード内のすべての非同期関数に同期バージョンがあった場合、採用は異なり、人々は場所によっては同期メソッドを使用することを選択するため、スケーラブルでない node.js サーバーになってしまうでしょう。おそらく、パフォーマンスの数値が際立っていなかったため、ノードは普及しなかったでしょう。

要するに:

node.js の採用は、その非同期性のために起こっています。クライアント側の汎用スクリプト ツールとしての node.js の採用は、同期機能がないため行われていません。

これは私自身の経験と意見に基づいており、インターネットで見つけた記事や数字に基づくものではないことに注意してください。自分で試してみて、自分の意見を作り上げてください.

于 2012-12-16T11:54:52.040 に答える