(我知道IE支持VBScript,但它似乎已经过时了。)
谷歌正在试图用Dart来挑战这一趋势。然而,社区并没有完全接受这个想法。
谷歌提议为Webkit添加多VM支持,但未得到好评。
有一个评论非常好地概括了为什么会有一些抵制的情况:
在这种情况下,这个功能是将更多编程语言带到web上,除了当前“最棒”的语言(不久前可能是Go,一年左右前可能是Ruby,在此之前是Python,我记得不久前Haskell也曾短暂流行过,Lua已经处于边缘很长时间了,在这种情况下是Dart -- 谁又能保证6个月后不会有完全不同的语言流行?),没有任何真正意义上的益处,只有粉丝们的喜爱。但作为一项成本,它会破碎Web并增加大量额外的维护负担--仅仅维护v8和jsc绑定就不是简单的任务,而它们是同一种语言。
这个问题不是“我们能否让多个虚拟机在webkit中运行”,而是“我们是否想要向Web中公开多种语言”。对于前者,我认为很明显,因为我们已经做到了;对于后者,我要说我们不想要。
除非我们想把webkit变成每个人都讨厌的引擎,因为它有许多独特的“功能”会破坏开放式网络,就像上世纪90年代晚期的某些浏览器一样。
CoffeeScript是另一个新兴的客户端脚本语言的例子。然而,它不像谷歌试图使用Dart支持浏览器中的另一个虚拟机一样,它编译成JavaScript。还有其他几种“将X编译为JavaScript”的编程语言。
因此,有很多其他的客户端语言;他们只是都使用JavaScript作为中间语言。我认为Dart也应该这样做,尽管他们在某些方面有改进的空间。
emscripten是将LLVM编译为JavaScript的一个很好的例子。
Internet Explorer支持任何Windows Script Engine,因此您可以使其支持已实现为一种语言的任何语言,或编写自己的语言。
因为JavaScript是其他所有浏览器都支持的语言,而浏览器供应商有两个主要优先事项: