JavaScripts的故事

    JavaScript于1995年诞生于网景公司。当时网景公司需要一种脚本语言,用于协助Navigator做简单的操作。Brendan Eich受命操刀实现它。当年网景公司与Sun合作紧密,不懂技术的高管希望得到一个类似Java的脚本语言,期望它像Java一样风靡。而Brendan Eich原本期望进入网景公司做Scheme研究,却接到了一个他不喜欢的任务。形势所逼,他在10天的时间里完成这门语言的设计。它唯一符合高管们期望的地方就是它长得确实像java。

    这看起来本是一件糟糕的事,所幸Brendan Eic的才华确实令人高山仰止。高管期望的Java+Script实际上是C+Scheme+Self+Java的产物。它本不该叫JavaScript,却获得了这个名字,谈起这件事,许多开发者会拿“雷锋”与“雷峰塔”的关系开玩笑。

    JavaScript诞生之后的另一件糟糕的事出现在第一次浏览器大战时。微软在IE中实现了JScript,与JavaScript十分相似。网景公司为了保护自己,过早推动力这门语言的标准化进程,在1997年ECMAScript262规范颁布。

    两件事情叠加在一起,使得JavaScript还没有足够的经历就被过早地出生和定型。它就像一个早产儿,之后的成长中,处处透露出不成熟的气息。所幸福祸相依,看起来糟糕的事情背后,依然留下了两个拐点,为JavaScript保留了优秀的基因。

  • 引入了Scheme的函数式,函数式成为一等公民。函数式编程里的高阶函数、偏函数都充满了灵活性,它们在JavaScript中得以发挥。
  • 引入了Self的原型链。得要感谢Brendan Eich的这个决定,不然现在大多数人可能只知道Java的模板继承,却不知道另一种继承方式叫做“原型链继承”。

你可能感兴趣的:(JavaScript)