**已关闭。**此问题为off-topic。目前不接受答复。
想改善这个问题吗?Update the question,所以Stack Overflow的on-topic。
11年前关闭。
Improve this question
为什么浏览器不支持Python脚本作为Javascript的替代?还是更通用的脚本语言?Javascript是唯一一个跨浏览器实现的语言,这有什么原因吗?毕竟,script标签确实支持指定所使用的脚本语言。
(我知道IE中有VBScript支持,但它似乎已经过时了。
3条答案
按热度按时间rqenqsqc1#
Google正试图通过Dart来扭转这一趋势。社区还没有完全接受这个想法;也不是。
Google proposed adding multiple VM support for Webkit,不太好用。
一个特别的评论很好地总结了为什么会有一些阻力:
在这种情况下,这个特性是在向Web公开更多的编程语言,除了当前“最棒”语言的粉丝之外,对任何人都没有任何真实的好处(不久前可能是Go,一年左右以前可能是Ruby,比Python更早,我记得不久前haskell的流行度也短暂飙升,Lua已经在边缘很长一段时间了,在这个例子中,它是 dart -谁能说在6个月内不会有一种完全不同的语言流行呢?),但作为代价,它会分割Web并增加大量额外的维护负担--仅维护v8和jsc绑定就不是小事,而且它们是针对同一种语言的。
这里的问题不是“我们能否在webkit中实现多个虚拟机”,而是“我们能否向web公开多种语言”,对于前者,我说显然我们已经这样做了,对于后者,我说我们不想这样做。
除非我们想把webkit变成一个人人都讨厌的引擎,因为它所有独特的“特性”破坏了开放的网络,就像90年代末的某些浏览器一样。
CoffeeScript是新兴的客户端脚本语言的另一个示例。然而,它不是在浏览器中支持另一个虚拟机(就像Google试图用Dart做的那样),而是编译为JavaScript。还有其他几个“compile X to JavaScript”也可以做到这一点。emscripten是将 LLVM 编译为JavaScript的一个很好的例子。
所以还有很多其他的客户端语言;它们都使用JavaScript作为中间层。我认为这也应该是Dart所做的,尽管they have some room to improve。
alen0pnh2#
Internet Explorer支持任何Windows Script Engine,因此您可以使其支持任何已实现为一种语言的语言,或编写自己的语言。
xuo3flqw3#
因为JavaScript是所有其他浏览器都支持的,浏览器供应商有两个主要优先事项:
1.确保现有网页正常工作(需要JavaScript)
1.让作者在他们的浏览器中做用户可见的事情,而在其他浏览器中做不到(更改编程语言将对用户完全隐藏,除非它坏了)。