返读《PPK谈JavaScript》

《PPK谈JavaScript》(ppk on JavaScript)的作者ppk, Peter-Paul Koch一直是我所尊敬的大师,他的网站quirksmode.org也一直必备的参考资料。这也是为什么当我突然看到柜子里还有一本他早期的书的时候,尽管其中的内容已经相当的过时,但我还是拿起来打算好好看一遍。

ppk的这本书成书在2006年左右,前端刚刚兴起之时,内容相对于当时而言是相当不错的,只是放在现在难免显得过时无用。印象里这是淘宝UED早期翻译的第一批书之一,当时在图书馆里翻了几页买下后就一直没看过...就这么在书架上躺了快9年了吧,着实惭愧。回想起来,相比Zakas的系统化的《JavaScript高级程序设计》,ppk的这本内容就太散了,读起来有点像看博客的感觉,应该也是当时为什么自己放之于柜的主要原因吧。

翻开书,就仿佛是翻开历史的感觉...可能10年的时间对于互联网而言真的是相当漫长。如果是现在,我绝对不推荐去看这本书,不过当作是回顾闲聊确实也不错吧。顺带一提,ppk最新的书是《The Mobile Web Handbook》,所以大师就是大师,永远走在最前面引领着变革。

即使放到现在,《PPK谈JavaScript》也颇为独特。ppk对于无论是简单的还是复杂的,都用他独有的那种幽默侃侃而谈,而且丝毫不避讳自己犯下的错误,经常拿自己开玩笑。这点真的是自己作为一个博主要努力学习的地方。回看自己刚做前端那会写的文章,反而比起现在要高级多了。现在总是刚刚想起要写个什么东西,就一下子失去了兴趣似的,感觉可能太简单不值得写或者不屑于写,这种自持和年龄有关,但显然是错的。再看看ppk大师,可能对于他来说极其简单的东西,他也是娓娓道来,如何表达到极致,让简单的东西更简单?难道不应该往这方面去想么?!这也是为什么国内牛人博客不如国外大师博客长青的原因,ppk,Zakas,依旧写着他们那外观10年毫无变化的博客,内容却都是最新的。

相对于他这种经历过“史前战场”的开发者来说,我们这些IE6的存亡者都只是婴儿一般无虑。即便现今,都惊讶于他当年对于移动互联网的判断,为他有趣幽默的文风忍俊不禁。

正是由于频繁遇到这一类难以捉摸又令人讨厌的bug,脚本编程者大都患有存在焦虑症而且过早脱发...

所以我的建议是:当你遇到一个浏览器bug,请创建一个测试页面,写一篇相关的文章,然后把它们都放到线上。它能帮助你真正地把握这个问题,也能帮助其他Web开发者拯救他们颇为值钱的头发

就结果而言,尽管他的照片上头发很茂盛的样子,但他对头发似乎依旧非常执着...

在任何情况下都不要先为某一个浏览器写脚本,稍后再增加对其他浏览器的支持。这是通往地狱的快速通道

用现在的眼光看来,他甚至有一些罗嗦,但说到关键性内容的时候又一丝不苟的严谨和苛刻。ppk最多的提到了可用性和可访问性,在很多地方都能感受到他对于这两方面的苛求。到目前为止我看到的最多的讨论屏幕阅读器的文章大部分出自 Roger Johansson,但PPK同样在他的内容里同样描述了很多关于屏幕阅读器的方方面面的信息。这在国内是完全无法想象的,因为即使开发者想去精益求精,使用屏幕阅读器的用户也决然不会到达十万分之一。

匆匆翻过一些基础知识,这部分明显比较薄弱,可以用《JavaScript高级程序设计》和《JavaScript语言精粹》替代。最后的实例如今也不太适用了,除了感概时间的流逝,思虑最多的恐怕是当前自己的知识集又能持续多久?当年很多模糊的标准解释已经非常明晰,作为IE6的存亡者代谢了繁复的trick技巧,如今面对的是更好的浏览器环境,却也是更复杂的应用场景。

这本书应该是你学习过程的开始,而不是结束。JavaScript在不断发展,好戏还在后头。

Can't agree more. 十年前如此,十年后依旧。

BGM @ Breathe by Two Steps From Hell