也许我只是不知道竞争对手,但似乎在浏览器和DOM中的客户端脚本中,Javascript就是这样.我知道有VBScript,但它实际上甚至不和JS在同一个球场(对于初学者来说甚至不是跨平台).
我只是好奇这是怎么回事.当然,人们普遍希望用一种新的语言来取代Javascript:从头开始构建Javascript已经被弯曲和塑造的所有东西(看看对JS库的依赖).
动量.JavaScript已经存在了大约15年左右,浏览器制造商已经工作了15年左右,以使其在浏览器中运行.
如果一个竞争对手出现,它需要真正带来一些新的东西,以说服每个人a)采用它,b)生活与锁定IE7,Firefox 3.0,Chrome 1.0等旧浏览器的所有用户. c)找到所有现有库的替换,如jQuery,prototype,extJS等.
简而言之:我们不需要另一个标准,让我们改进JavaScript并建立在已经存在的丰富基础之上,而不是从石器时代开始.
有!我想到的是Flash,ActiveX和Java ......但这些都有它们的缺点.主要是安全性和与浏览器/ DOM的集成.
Flash和Java生活在他们自己的小世界中,通过设计(并解决安全问题).他们不能改变他们周围的HTML.ActiveX可以访问DOM,也可以访问计算机上的其他所有内容.
Javascript似乎在灵活性和安全性之间找到了很好的平衡,它可以轻松地交互和改变页面HTML/CSS,做"安全"的网络,有一个像样的标准库(有JSON,XmlHttpRequest的网络,DOM操作等)等等).最重要的是,它可以在所有平台上基本上所有模糊的现代浏览器中以一致的方式提供(与CSS相比)
Javascript存在问题,但没什么大不了的..最大的是性能..在digg上加载评论页面并观察你的CPU使用率.很可能是100%的一个CPU核心..有些项目可以改善这个就像SquirrelFish,TraceMonkey和其他奇怪命名的东西一样......但是表现足以做一些非常令人印象深刻的事情(例如Google Spreadsheet).
基本上,Javascript很棒,它的缺点并不像其他竞争对手那么大.
JavaScript赢了,因为它是由Netscape在市场份额超过90%的时期推出的.IE和其他浏览器别无选择,只能支持它.
如果要引入新语言,则必须通过所有主要浏览器供应商之间的协议,或者在单个浏览器具有足够市场份额的时期推动它.
几年前,当IE拥有极大的市场份额(在Firefox和Safari兴起之前)时,微软可能已经取消了它,但他们选择(出于战略原因)让浏览器停滞不前.
今天,一种新语言需要至少Mozilla,IE和Safari之间的协议以获得牵引力,我认为这是不太可能的.浏览器供应商已经在JavaScript的优化,兼容性测试等方面投入了大量资源 - 他们为什么要用一种全新的语言从头开始 - 并且必须在未来几十年内同时支持两种语言?成本大大超过任何好处.
无论如何,相信从头开始设计的新语言可能比JavaScript明显更好是非常不现实的.
告诉我另一种不依赖于图书馆的语言?
C,C++,C#,VBs ......都依赖于库.唯一的区别是它们通常带有一组标准库.
那么我们真正想要的是一套标准的库吗?我们目前得到的是一系列库集(JQuery,原型,extjs,mootools等).这是一件好事,因为我们开发人员可以选择一个适合我们需求的产品.此外,可以包含和演化这些库,而无需更改客户端组件.
我可以想到Javascript 中没有任何引人注目的语言功能.通过引人注目,我的意思是如此惊人地重要,以至于我愿意疏远那些不支持它的浏览器.