为什么javascript是浏览器中唯一的客户端脚本语言?

时间:2012-01-20 19:35:46

标签: javascript browser web standards

为什么浏览器不支持Python脚本作为Javascript的替代方案?或更通用的脚本语言?有没有理由认为Javascript是跨浏览器实现的唯一一个?毕竟,脚本标记确实支持指定使用的脚本语言。

(我知道IE中有VBScript支持,但它似乎已经过时了。)

3 个答案:

答案 0 :(得分:42)

好吧,谷歌正试图用Dart来推动这一趋势。社区并没有完全接受这个想法;任

Google proposed adding multiple VM support for Webkit并没有很好地发挥作用。

一个特别的评论很好地总结了为什么会有一些阻力:

  

在这种情况下,该功能正在向网络公开其他编程语言,除了当前“最棒的”语言的粉丝之外的任何人都没有任何实际好处(不久之前可能是Go,一年左右)以前这可能是红宝石,在比蟒蛇之前,我还记得我在很久以前就已经掀起了哈斯克尔的流行,Lua已经走了很长一段时间了,在这种情况下它是Dart - 谁说要赢了'在6个月内,它是一种完全不同的流行语言?),但是作为一种成本,它会破坏网络并增加额外的维护负担 - 只需维护v8和jsc绑定并不是一件容易的事情,它们也属于同一种语言

     

这里的问题不是“我们可以在webkit中制作多个vms吗”它是“我们可以向网络公开多种语言”,对于前者我很明显地说我们已经做过了,后者我说我们不做不想。

     

除非我们想将webkit变成每个人都讨厌的引擎,因为它打破了开放网络的所有独特“功能”,而且是90年代后期的某些浏览器。

CoffeeScript是新兴客户端脚本语言的另一个例子。但是,不是支持浏览器中的其他虚拟机(正如谷歌尝试使用Dart),它会编译为JavaScript。还有其他几个“编译X到JavaScript”也可以这样做。 emscripten是将 LLVM 编译为JavaScript的一个很好的例子。

所以还有很多其他客户语言;他们只是使用JavaScript作为中间人。我认为这应该是Dart所做的,尽管they have some room to improve

答案 1 :(得分:6)

Internet Explorer支持任何Windows Script Engine,因此您可以支持任何已实现为一种语言的语言,或者编写自己的语言。

答案 2 :(得分:1)

因为JavaScript是所有其他浏览器都支持的,浏览器供应商有两个主要优先级:

  1. 确保现有网页有效(需要JavaScript)
  2. 让作者在他们的浏览器中使用他们在其他浏览器中无法做到的可见事物(改变编程语言将完全隐藏在用户之外,除非它破坏了。)
相关问题