为什么Web前端语言只有JavaScript

 我来答
匿名用户
2015-12-06
展开全部
总结下,原因有很多,最主要的是,一个浏览器支持多个语言(以及其VM)是很不经济的(此观点我记忆中JS之父Brendan Eich也阐述过)。引入一个新语言的好处必须大到足以cover其代价,而这样的条件历史上从来没满足过,且可以断言将来也不会发生。历史上唯一特例IE可以支持多个语言是因为语言引擎并不包含在浏览器中而是在OS中,也不仅仅只服务于浏览器。

以当前的浏览器的主要厂商(当然只能算浏览器内核厂商,一帮做壳的就甭想了),理论上微软可以考虑在浏览器中直接支持TypeScript,不过从实际上看,TypeScript的目标本来就是兼容ES6+的超集,不如在其额外特性进入ES标准后再直接作为js引擎的升级来支持。另外Google曾考虑过在Chrome中加入Dart,但已经放弃了。目前最接近多语言的是所有主流js引擎厂商正在联合开发的Web Assembly,但它并非另起炉灶创造新的语言和vm,而是在现有js上的扩展。

IE垄断时期可能是唯一有可能发展出多种语言的时期,然而vbs语言本身也有许多缺陷,比如语言特性不如js灵活,是私有语言不是标准等。另外混合编程存在问题,如错误处理,又如垃圾回收机制的不同导致混合编程很容易内存泄漏。这些都阻止了vbs的流行或vbs/js的共存。关键一点,微软并未通过大力改进浏览器编程环境来力推vbs,反而停止了浏览器开发长达数年。当IE垄断时期过去后,浏览器上就不可能再有取代js的第二种语言了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式