JSON 之父新作,JavaScript “葵花宝典”参悟 JS 之道

道格拉斯新作《JavaScript悟道》上市以来,深受读者喜爱。译者死月(朱凯迪)在翻译道格拉斯这本书的过程中,加入了很多自己的思考,让这本书的内容更加传神、丰满,也展现出了 JavaScript 的“道”。

本文选自该书的译者序,记录了死月老师翻译这本书时的一些思考,希望能给大家带去有关 JavaScript 的新的理解。【文末福利】

少小摘得即为通,而立手作毋自明。

夏虫度伏难度九,阡陌知雨不知春。

道爷虽道是语精,听者但听须首灵。

泱泱巧匠阅此序,清人自清迷人迷。

这是我的编程之路启蒙读物。

我从 2002 年开始接触 JavaScript。那个时候我尚在读小学,接触的途径是流传在商店里的各种名为《网页特效大宝库》之类的光盘。当时,我只会在 FrontPage 中写 HTML,并不懂 JavaScript,代码都是从“大宝库”中复制粘贴的。从此,这些炫酷的鼠标跟随特效、下雪特效就在我心中种下了一颗不知名的种子。

之后 5 年,我在捣鼓 ASP。这段时间里的 JavaScript 也还在“缝缝补补”。我真正开始使用 JavaScript 写代码是在 2007 年,在 jQuery 发布一段时间之后。也正是因为 jQuery,我至今对于原生的 Web API 并不那么熟悉,接触并知道 ECMAScript 规范也是在 2013 年前后,所以说我是一个“野路子 JavaScripter”一点儿也不错。

JavaScript 从 1995 年面世以来持续高速发展,尤其在近几年爆炸式地发展。道格拉斯在 2008 年写了第 1 版的《JavaScript 语言精粹》,经过赵泽欣(小马)和鄢学鹍(三七)前辈们的翻译,几乎成了现如今 JavaScript 从业者的必读之物之一。

作为一个后端工程师,我很高兴 Node.js 的出现让 JavaScript 的发展之路与我有了交集。JavaScript 以它独特的魅力成了一门随处可见的语言,甚至早在 2008 年就有工程师杰夫·阿特伍德提出了阿特伍德定律:

任何可以使用 JavaScript 来编写的应用,最终都会由 JavaScript 编写。

虽然可以把阿特伍德定律看成一段调侃,但它也体现了 JavaScript 的便捷、易用与流行。

诚然,JavaScript 并不完美,《JavaScript 语言精粹》的厚度也远不及《JavaScript 高级程序设计》的厚度,但这些问题仍无法阻止 JavaScript 成为现如今的热门语言之一。道格拉斯深知这一点,所以他痛恨并深爱着 JavaScript 这门语言,用渊博的知识与幽默的文笔“骂骂咧咧”地写完了本书。

刚接到本书的翻译工作时,我是惴惴不安的,生怕翻译不出它的神韵。好在最后我还是勉强完成了,虽不完美,但尽了我最大的努力去保持本书的原汁原味。而且在翻译的过程中,我得到了很多提升,也知道了挺多奇闻轶事。例如,JSON 是在奇普·莫宁斯达家后方的一间棚子中被发现的;又如,爱迪生发明的留声机原型在唱针每转一圈时就会发出一声怪音;再如,曼哈顿大街上的洛克希剧院最开始是以接待员统一的裤子为噱头的;还有,最初的罗马历一年只有 10 个月,剩下的日子全叫“冬季”。

道格拉斯自身也非常有特色,对于认定的理儿非常执着,特立独行。他坚持认为 one 应该按照发音写作 wun,并且在整本书中都是这样做的。受其感染,我也尽可能地为一些单词想出了特立独行的翻译,即使它们可能已经有约定俗成的中文翻译了。例如,我会将 truthy 翻译为“幻真”,falsy 翻译成“幻假”,是不是很梦幻呢?

除了奇闻轶事、特立独行,书中还有挺多值得品味的 JavaScript 干货和吐槽。道格拉斯帮我们复习了 JavaScript 中数值的一些原理(IEEE 754),并引申出了高精度数值的思想;介绍了各种 JavaScript 类型背后的思想,如几种基本类型、对象、函数等;还讲了 JSON 等背后的小故事。道格拉斯写本书的用心不止于此,他还介绍了 JavaScript 语言层面之外的一些内容,涉及计算机科学和软件工程中的各个领域,如测试、优化和编程语言等。最后,他还不忘再次回归点题,调侃 JavaScript 一番。

至于吐槽,的确充满了道格拉斯的个人主观色彩。如果对于一些观点有强烈认同感,大家一定会产生共鸣;而如果一些观点与你的不一致,大可一笑置之。甚至在本书翻译的时候,贺师俊(Hax)前辈还开玩笑地说:

孔子作春秋,大义微言,所以需要注释来阐发。道格拉斯过于言简意赅,以至于大家不清楚他到底站在哪边。你尽量不要加注,保持原汁原味,然后单独出个评注版。你自己、我,然后再找一个人,可以凑成三家注了。

如果真的可以,我其实很乐意做这么一件事,颇有“易中天品三国”的味道。

总之,本书非常有意思,我自己在翻译的时候就有这种感觉。更多的信息还是等大家自己来发现吧,相信你们不会失望的。

最后,我非常感谢 JavaScript 这门神奇的语言,感谢 Node.js 这个运行时让我有机会深入接触 JavaScript。感谢给本书中文版写推荐语的同行们,感谢在计算机之路上给我启蒙的王震老师。感谢我的妻子,她的支持是对我最大的鼓励,如果不是她,本书的问世也许会更晚。感谢我的父母在我的背后默默支持我的事业。从我小时候起,他们就一直支持我的梦想,这才让我能在编程领域一路走下来。最后,感谢图灵公司的岳新欣女士约我翻译本书,感谢本书的编辑谢婷婷和杨琳在翻译中的帮助。

《JavaScript悟道》

道格拉斯·克罗克福德  著

死月(朱凯迪)译

本书结合当前JavaScript语言现状,深入剖析了JavaScript语言的运行原理、应该如何演进、怎样才能将其发挥至极致。这些深邃、极具前瞻性的论述不仅适用于JavaScript,也适合其他语言。学习、理解、实践大师的思想,能让开发者站在巨人的肩上,看得更全面。

文末福利

正在读或者已经读过这本书的小伙伴,欢迎来给大家分享一下你读完这本书的感受。还没读过的伙伴们,可以说说书中的哪些内容让你感兴趣。

我们将在精选留言中选出 5 位,获得死月老师限量签名版图书一本。截至 2021.8.10。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值