文章来源: 机器之心
原文编辑:陈萍 杜伟
JavaScript 从诞生之日到现在,已然成为一门明星语言,使用人数不断扩大。根据今年早些时候 StackOverflow 的一项调查结果显示:超过 65% 的开发人员使用 JavaScript,远远超过排在第二位的 Python(忽略 HTML、CSS 和 SQL 这些非通用语言)。
根据调查,JavaScript 是世界上最受欢迎的编程语言
但 JSON 之父 Douglas Crockford 却在最近的一次采访中表示,JavaScript 已经成为了进步的障碍:“我们现在能做的最好的事情就是让 JavaScript 退役。
20 年前,我是少数几个 JavaScript 的倡导者之一。JavaScript 将嵌套函数和动态对象拼凑在一起非常出色。我花了十年的时间试图纠正它的缺陷,我在 ES5 上取得了小小的成功。但从那以后,人们对进一步扩大该语言产生了浓厚的兴趣,而不是改进它。
因此,就像其他化石语言一样,JavaScript 就成为了进步的障碍。我们应该专注于下一种语言,它应该更像 E 语言而不是 JavaScript。”
不过 Crockford 承认,替换 JavaScript 存在两个困难。首先,我们还没有另一种语言来替换 JavaScript。其次,我们需要所有的浏览器制造商都放弃 JavaScript 采用新语言,同时用一个设计良好的界面取代 DOM。而这两项,都还远未达到。
前面我们提到,JavaScript 主要创造者是 Brendan Eich。但他在 1995 年创造这种语言时,只用了 10 天时间。2018 年,Eich 在 dot.JS 大会上曾经抱怨:当年 5 月我苦熬 10 天,都没多少休息,终于完成这门语言。
2019 年,Eich 告诉美国计算机科学家和学者 Charles Severance,表示自己开始转向另一种 HTML 编程语言,网页设计师和程序员可以使用,直接嵌入到网页中,不像 Java 那样是一种专业语言,你可以运行带有类型声明的真实代码,但你必须以编译的方式编写。很多人被 JavaScript 的名字迷惑了,但在语法上,它与 Java 没多大关系,而是与 C 语言关系密切。Eich 称这项工作是「一项匆忙的工作」,但他也表示「我知道会有错误,会有缺陷,所以我把它做成了一种具有可塑性的语言。这使 Web 开发人员能够使其成为他们想要的样子。」
Crockford 也指出,随着性能的提高,JavaScript 已经变得非常复杂,今天一个典型的应用程序包括使用 WebPack、Rollup 或其他绑定器的构建过程,已经与 Eich 最初的概念相去甚远。一位开发人员在最近一次关于 Hacker News 的讨论中承认道:
「JavaScript 在短短几年内迅速流行起来,但其生态系统非常复杂。这一直以来都是个大笑话,即便在全职 JS 开发者中也显得如此疯狂,我们没人能跟上。」Eich 10 天匆忙赶出来的一门语言,JSON 之父 Douglas Crockford 说要放弃它,到底如何做呢?
我们看看网友是如何评价的。
网友的赞同与反驳
对于 Douglas Crockford 的观点,网友纷纷表达了自己的看法,其中有部分赞同,更有反对。
一位推特网友表示,「我绝对同意他的一点是需要放弃 DOM,它就是垃圾。DOM 是 JavaScript 运行慢的罪魁祸首。JS 是不太美观,但很实用。所以,我不介意。再次强调,DOM 才是彻头彻尾的垃圾。」
图源:@Kris Spookspook
不过,更多网友对 Crockford 的一些说法进行了反驳。有人表示虽然自己讨厌 JavaScript,但 Crockford 嘴上说要放弃 JavaScript,但又没有替代语言。如果你认为有些东西不好,最好给出更好的选择。还有人表示不确定 Crockford 说的其他化石语言指的哪些,更不确定他说的进步又是什么。但是,仅仅为了进步而进步并不是什么值得追求的事情,让事情保持正常的运转同样重要。
其实,针对 JavaScript 的一些缺点,我们可以找到很好的解决方案。JavaScript 不够好?用 TypeScript;运行时太慢?用 Bun;工具太麻烦?用 Bun 或 Vite。其他语言也很好,但对于使用它构建各种东西,并没有比 JS/TS 更好的 DX 设置。
JSON 之父 Douglas Crockford
Douglas Crockford 是 Web 开发领域最知名的技术权威之一、被 JavaScript 之父 Brendan Eich 称为 JavaScript 的大宗师(Yoda),担任过 Yahoo! 资深 JavaScript 架构师和 PayPal 高级 JavaScript 架构师。Crockford 还是编程语言 Tilton 的发明者,并创建了世界上最受欢迎的数据格式——JSON 数据交换格式。
Crockford 还是畅销书《How JavaScript Works》的作者,这本书已经被翻译为了中文,受到了广大中国读者的喜爱!
Douglas Crockford 著死月(朱凯迪)译
本书结合当前JavaScript语言现状,深入剖析了JavaScript语言的运行原理、应该如何演进、怎样才能将其发挥至极致。这些深邃、极具前瞻性的论述不仅适用于JavaScript,也适合其他语言。学习、理解、实践大师的思想,能让开发者站在巨人的肩上,看得更全面。
译者评价
这本书的译者@死月(朱凯迪)说:“在翻译的过程中,我得到了很多提升,也知道了挺多奇闻轶事。例如,JSON 是在奇普·莫宁斯达家后方的一间棚子中被发现的;又如,爱迪生发明的留声机原型在唱针每转一圈时就会发出一声怪音;再如,曼哈顿大街上的洛克希剧院最开始是以接待员统一的裤子为噱头的;还有,最初的罗马历一年只有 10 个月,剩下的日子全叫“冬季”。”
除了奇闻轶事、特立独行,书中还有挺多值得品味的 JavaScript 干货和吐槽。道格拉斯帮我们复习了 JavaScript 中数值的一些原理(IEEE 754),并引申出了高精度数值的思想;介绍了各种 JavaScript 类型背后的思想,如几种基本类型、对象、函数等;还讲了 JSON 等背后的小故事。
道格拉斯写本书的用心不止于此,他还介绍了 JavaScript 语言层面之外的一些内容,涉及计算机科学和软件工程中的各个领域,如测试、优化和编程语言等。
最后,他还不忘再次回归点题,调侃 JavaScript 一番。至于吐槽,的确充满了道格拉斯的个人主观色彩。如果对于一些观点有强烈认同感,大家一定会产生共鸣;而如果一些观点与你的不一致,大可一笑置之。甚至在本书翻译的时候,贺师俊(Hax)前辈还开玩笑地说:
孔子作春秋,大义微言,所以需要注释来阐发。道格拉斯过于言简意赅,以至于大家不清楚他到底站在哪边。你尽量不要加注,保持原汁原味,然后单独出个评注版。你自己、我,然后再找一个人,可以凑成三家注了。
如果真的可以,我其实很乐意做这么一件事,颇有“易中天品三国”的味道。
总之,本书非常有意思,我自己在翻译的时候就有这种感觉。更多的信息还是等大家自己来发现吧,相信你们不会失望的。
小伙伴们,有没有发现,Crockford 是一个非常有趣的人?他的书一定和人一样有魅力!对于 Crockford 的一些说法,你怎么看呢?欢迎在评论区和我们分享你的想法~~
推荐阅读:JSON 之父新作,JavaScript “葵花宝典”参悟 JS 之道
本文参考链接:https://developers.slashdot.o...