【问题标题】:why web browser do not add lua vm? [closed]为什么网络浏览器不添加lua vm? [关闭]
【发布时间】:2012-08-11 01:30:22
【问题描述】:

Javascript很好,但是为了更好的性能,为什么网页浏览器(ie/chrome,firefox,safari)不加lua vm?还是让 lua vm 成为网络浏览器标准的一部分?

欢迎评论

【问题讨论】:

  • Chrome 和 FF 是开源的,欢迎提交补丁 :)
  • 问题已关闭,但(我想)原因是:Lua 不适合浏览器,因为它允许浏览器中不允许的内容,例如阻塞代码。必须开发全新的 Lua 变体,然后标准化和采用。创建编译为 JavaScript 的语言(如 CoffeeScript)更容易、更安全。
  • 请注意,<script type="application/lua"/> 可以使用 Fengari-web

标签: google-chrome internet-explorer firefox lua safari


【解决方案1】:

因为当今用于 Javascript 的 JIT 编译器与用于 Lua 的 JIT 引擎一样快,甚至更快。

网络在 1990 年代中期试验了不同的客户端脚本语言(当时我们有 LiveScript(早期的 JavaScript)、VBScript(感谢微软)以及 Tcl。网络决定不喜欢那样我们选择了一种语言(JavaScript,现在是 EcmaScript)。

Lua 没有提供任何真正的优势,并且引入了大量工作负载(例如,需要实现 DOM API,并且 Lua 与 EcmaScript 具有不同的语义(在类型和函数工作方式等方面),因此大多数的网络开发人员需要重新学习他们的专业。

其中没有商业案例。

【讨论】:

  • 你说的不是真的。 Lua JIT 编译器是迄今为止最快的 JIT 编译器。它击败了 V8。
  • 需要引用。这个网站显示 LuaJIT 比 V8 慢很多:benchmarksgame.alioth.debian.org/u32/…
  • 不是LuaJIT,是lua解释器。枪战的作者决定放弃 LuaJIT。
  • 其实你们谁都不对。你不能说 X 比 Y 快,你只能说 X 在执行特定算法时比 Y 快。 Lua 有几个优化在 JavaScript 中是不可能的,例如尾调用消除 (more)。一些基准会说 Lua 比另一些会说的相反。
  • 我不同意 Lua 对 JavaScript 没有真正优势的说法。与 V8 相比,LuaJIT 的卓越速度和更小的内存使用量是 Tim Caswell 在 Luvit 项目中将 node.js 移植到 Lua 的部分原因。它只是一种更简单的语言,因此它有机会变得更快。
猜你喜欢
  • 1970-01-01
  • 2012-10-30
  • 2015-01-07
  • 2011-05-22
  • 1970-01-01
  • 2011-04-09
  • 2017-06-02
  • 1970-01-01
  • 2010-10-23
相关资源
最近更新 更多