web-dev-qa-db-ja.com

Javascriptがブラウザに実装されている唯一のクライアント側スクリプト言語なのはなぜですか?

ブラウザが、たとえば、Python Javascriptの代替としてのスクリプティングのサポートを追加しないのですか?または、より汎用的なスクリプト言語ですか?Javascriptがブラウザ間で実装されている唯一のものである理由はありますか?すべて、スクリプトタグは、使用するスクリプト言語を指定するサポートを持っています。

(IEにはVBScriptのサポートがあることは知っていますが、すべての意図と目的のために廃止されているようです。)

61
anand.trex

さて、Googleは Dart でその傾向に逆らおうとしています。コミュニティはこのアイデアを完全に受け入れていませんでした。どちらか。

Google 複数のVM Webkitのサポートを追加することを提案 これはあまりうまくいきませんでした。

ある特定のコメントは、それに対して何らかの抵抗があった理由についてうまくまとめています。

この場合、この機能は追加のプログラミング言語をWebに公開します。これは、現在の「最も素晴らしい」言語のファン以外には何のメリットもありません(1年ほど前にGoだったかもしれませんが) Rubyでしたが、Pythonよりも前に、私は少し前にHaskellの人気が急上昇していることを思い出します。Luaは長い間口論を続けてきました。この場合、それはDartです。 6か月でまったく異なる言語が流行しますか?).

ここでの問題は、「Webkitで複数のVMをライブにできるか」ではなく、「複数の言語をWebに公開できるか」ではなく、前者には既に明らかにしたように、後者には私はしたくないと言うに。

90年代後半の特定のブラウザに見られるように、Webkitを、オープンWebを破壊する独自の「機能」のために誰もが嫌うエンジンに変えたくない限り。

CoffeeScriptは、新しいクライアント側スクリプト言語の別の例です。ただし、ブラウザで別の仮想マシンをサポートするのではなく(GoogleがDartを使用しているため)、JavaScriptにコンパイルされます。他にも「XをJavaScriptにコンパイル」する機能がいくつかあります。 emscripten は、[〜#〜] llvm [〜#〜]をJavaScriptにコンパイルする良い例です。

したがって、他の多くのクライアント言語があります。それらはすべてJavaScriptを中間体として使用します。 彼らには改善の余地がある

42
vcsjones

Internet Explorerは Windows Script Engine をサポートしているため、1つの言語として実装されている言語をサポートすることも、独自の言語を作成することもできます。

6

JavaScriptは他のすべてのブラウザーがサポートしているものであり、ブラウザーベンダーには次の2つの優先事項があるためです。

  1. 既存のWebページが機能することを確認する(JavaScriptが必要)
  2. 作成者に、ユーザーが他のブラウザーではできなかったブラウザーでユーザーに見えることを行わせるようにします(プログラミング言語の変更は、中断した場合を除き、ユーザーから完全に隠されます)。
0
Quentin