JavaScript是一个开源项目吗?

Cha*_*les 21 javascript

虽然我知道它是由Brendan Eich在Netscape创建的,但JavaScript是一个开源项目吗?如果没有,谁拥有源代码?

另外,使用什么编译语言来开发JavaScript?

Ker*_*ğan 37

JavaScript不是"项目".

相反,存在语言的"规范"(ECMAScript标准),然后该标准有许多"实现".这些通常是由不同的人制作的完全独立的项目.许多流行的编程语言以类似的方式开发,具有单个标准的各种实现.

语言可能具有开源实现,但标准可能不是"开放" - 它的变化可能由单个公司实体控制其利润.或者,标准可以是"开放的"并且协作开发,但是可能只有一个实现不是开源的,或者唯一的"好"实现可能是专有的.

特别是,JavaScript是ECMAScript语言标准的实现,主要以客户端JavaScript的形式使用,作为Web浏览器的一部分实现,以便提供增强的用户界面和动态网站.这使得能够以编程方式访问主机环境中的计算对象.

由于其开放标准,ECMAScript是开放的,但不是开源的.(语言标准不能是开源的 - 它不是程序,它是描述程序预期行为的文档 - 但它的实现可以是.)

例如,谷歌Chrome使用的V8引擎是可用的,SpiderMonkey源代码也是如此,它在Mozilla Firefox中使用.如果您有兴趣,还有更多JavaScript引擎.


Ser*_*gey 16

Javascript是一种语言.有许多不同的引擎可以解释javascript,每个引擎都有自己的许可协议.

有关不同引擎的更多信息:http://en.wikipedia.org/wiki/JavaScript_engine

第一个JavaScript引擎:SpiderMonkey是用C++编写的,是由Mozilla Foundation维护的开源项目.

  • @Charles我想你不知道你在说什么. (10认同)
  • 如果这是您正在寻找的答案,请将其标记为绿色复选标记. (3认同)
  • 同样,每个引擎都会有所不同.从理论上讲 - 您可以使用您想要的任何语言创建它.例如,Rhino引擎是用Java编写的,SpiderMonkey(第一个JavaScript引擎,最初是在Netscape中)是用C++编写的...... (2认同)

Oli*_*ran 6

JavaScript是最初由名为Netscape的公司开发的编程语言.它以ECMAScript http://www.ecmascript.org的名称标准化.名称的这种偏差是由于不同公司之间在标准化时所谓的不一致.

在浏览器中运行时,有各种"引擎"可以解释JavaScript.其中一些是开源的(例如在Firefox中使用的"Rhino"或在Chrome中使用的"V8").

但是,JavaScript本身是否是开源的问题有点不合适."开源"是指程序,而JavaScript是一种编程语言.它是一个开放的标准,在某些方面是近似的 - 至少在某种意义上它不是由一家公司拥有和控制的"礼仪"语言.

-

更新:我想你的问题的答案是,因为JS是一个开放的标准,它有很多实现,包括开源的.这些实现是各种编译语言,甚至是一些非编译语言.