不扶好眼镜,请别打开这本挑战JS语言特性的书
在 JavaScript 语言的宗师级人物榜单里,有一个非常有趣的人,他曾任 PayPal、Yahoo 等知名互联网企业 JavaScript 资深架构师,还创造了备受赞誉的 JSON 数据交互格式,也是 JavaScript 的布道者,为 JS 的应用和发展做出了巨大贡献。
但,他的每一次正式发声,就会饱受业界挑战和攻击,因为这个老爷子实在是太有性格了。
道格拉斯·克罗克福德(Douglas Crockford)图片来源 Wikipedia
按理说,他开发了各种与 JavaScript 相关的工具,比如 JSLint 和 JSMin,道格拉斯可以说是领域里的权威专家。但是他并不愿意接受 JSON 和 JavaScript 取得的成就。
道格拉斯在codemotion上接受采访
这么一看,似乎大师是比较自谦,毕竟 Brendan Eich 才是 JavaScript 之父。但实际上,老爷子在2008年出了一本非常畅销的书 JavaScript: the Good Parts(中文版《JavaScript语言精粹》)。从书名就不难看出,大师的画风相当耿直……
在他看来,JavaScript 外表糟粕,但好在,它的内在还是很美好的,所以他只写那些“精粹的部分”。
在这本书中,道格拉斯提到:
此书一出,业界反应激烈,传闻老爷子甚至还遭受到了暴力威胁。
如果你以为故事到这就结束了,那可太小瞧这位「有性格的」专家了。
熟悉 JavaScript 整个发展进程的人都知道,“每10年 JavaScript 都会发生一次改朝换代式的变革。”
因此,当老爷子10年后想要重新修订他的代表作 JavaScript: the Good Parts 时,赫然发现这本书的版权已经全部授权给了当时的 Yahoo,他没有权利再进行任何修订。
于是他决定重新写一本关于 JavaScript 的书,而写这本书的理由只有一个:
相比过去10年,JavaScript 的精粹变少了,但留下来的那些精粹更显闪耀
作者 | 道格拉斯·克罗克福德
来源 | 《JavaScript悟道》
0.1异类
我有预感,本书会让一些同僚感到不舒服。我是异类,正在挑战一些守旧者的权威。我已经习惯这些了。多年前,我因为发现了 JavaScript 居然有精粹并将其整理成册而饱受挑战和攻击。还有当我刚提出 JSON(它现在已经成了时下最流行的数据交换格式)的时候,也是如此。
社区是有信仰的,哪怕这些信仰存在错误,社区成员也能从中获益。因此,当信仰被人质疑时,社区成员就会觉得受到了威胁。对,我就是这个质疑的人。我对真理的渴求高于对社区利益的看重。恰恰就是这一点会让很多人不高兴。
我其实只是一个普通程序员,只想找到一个最佳实践来写出优美的代码。虽然我的一些想法可能不对,但我也在思考如何纠正这些想法。我们这代程序员有很多思维模式已在 FORTRAN 时代固化,我觉得是时候踏出改变的一步了。不过,即使我处在一个极具创造性的行业中,变革仍然并非易事。
如果你认为自己被我这个异类的话冒犯了,那么我建议你将本书放回书架并远远走开。
0.2代码
本书的所有随书代码都可以免费获取。你可以将其用于任何目的,但请不要拿它们“作恶”。如果有可能,我希望这些代码能让你做一些“好事”。
强烈建议你不要简单地复制粘贴你并不理解的那些代码。虽然我们经常戏称自己是“复制粘贴工程师”,但这种做法实际上是很不可取的。这虽然比不上看都不看一眼就去安装一款未知软件那么蠢,但也实在算不上一种明智之举。在当前的安全技术水平下,最好的安全过滤器就是你的大脑,请务必善用。
虽然我的代码并不完美,但我认为跟我前几年写的代码相比,它们至少还是有进步的。我个人着重在为这方面的进步而努力,并且希望能活到让我的代码达到完美的那一天。我希望你也能在这方面下功夫。你可以在本书的网站(How JavaScript Works)上查看勘误表 (erratums)1。 在拉丁语中,erratum 的复数形式是 errata,但谁让我用的是现代英语呢?在现代英语中,我们应该通过添加 s 或者 es 来构成复数形式,所以这里我用了 erratums。如果要在保持传统和与时俱进之间选择,我选择与历史的车轮一起前进,以此来使世界更美好。
上一篇:讲不同语言声音会变?外国小哥实力演绎,网友
下一篇:没有了