JSON之父:10天赶工出的JavaScript,最好的归宿就是让它退役
时间:2025-11-05 09:35:06 出处:系统运维阅读(143)

JavaScript 这一现今非常流行的父t最编程语言,竟然已经到了要谈论「退役」的天赶地步了吗?
JavaScript(简称 JS) 是一种具有函数优先的轻量级,解释型或即时编译型的工出归宿编程语言。虽然它是让退作为开发 Web 页面的脚本语言而出名,但是父t最它也被用到了很多非浏览器环境中。
1995 年由 Netscape 公司的天赶 Brendan Eich,在网景导航者浏览器上首次设计实现而成。工出归宿JavaScript 与 Java 在名字或语法上都有很多相似性,让退但这两门编程语言从设计之初就有很大的父t最不同。在语法结构上它又与 C 语言有很多相似。天赶JavaScript 中包含 Java 的工出归宿最初意图是:当时 (1993 年)Java 热火朝天,JavaScript 为迅速壮大自己而令其名字中包含 Java。让退
从诞生之日到现在,父t最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 设置。


Douglas Crockford 是 Web 开发领域最知名的技术权威之一、被 JavaScript 之父 Brendan Eich 称为 JavaScript 的大宗师(Yoda),担任过 Yahoo! 资深 JavaScript 架构师和 PayPal 高级 JavaScript 架构师。
Crockford 是畅销书《How JavaScript Works》和名著《JavaScript: The Good Parts》的作者,并在广播、学习系统、小型企业系统、办公自动化、游戏、互动音乐、多媒体、基于位置的娱乐、社交系统和编程语言领域工作。
Crockford 还是编程语言 Tilton 的发明者,并创建了世界上最受欢迎的数据格式——JSON 数据交换格式。
猜你喜欢
- 在ubuntu12.10上安装gnome切换到经典模式后,分别率最高只有1024*768,以为是没有安装显卡驱动导致的,上网搜索了N多方法,安装了各种nvidia驱动,依然没有搞定。(转)ubuntu分辨率设置以下是该文文章的内容:--------------------------------------------------------------->>>复制代码代码如下:设置分辨率1680 * 1050的shell脚本如下:复制代码代码如下:#!/bin/bash# set screen resolution to 1680×1050# Query current resolutionecho Current resolution:xrandrecho -------------------------------------# New one modeline for 1680×1050echo New one modeline for 1680×1050:cvt 1680 1050echo -------------------------------------# Create resolution using xrandr --newmode commandecho Create resolution 1680×1050:xrandr --newmode 1680x1050_60.00 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsyncecho -------------------------------------# Add the resolution to monitorecho Add the resolution to monitor:xrandr --addmode VGA1 1680x1050_60.00echo -------------------------------------# Apply the resolutionecho Apply the resolution:xrandr --output VGA1 --mode 1680x1050_60.00echo -------------------------------------# Query current resolution again to determine the settings valid or notecho Current resolution after settings:xrandrecho -------------------------------------
- windows 7开机桌面黑色 提示window副本不是正版的解决办法
- windows 7系统无法显示硬盘图标的解决方法
- 重装Win 7系统导入XP模式等虚拟机重装系统方法
- 解决电脑开机问题之CMOS信息错误(排查和修复CMOS信息错误导致的无法开机故障)
- windows 7打不开网页且提示处于脱机问题的解决方法
- windows 7中怎么样在家庭组互传文件
- Windows7将虚拟内存从默认的C盘移动到较少使用的D盘
- 大多数 Linux 发行版都会提供一个可以从 USB 启动的 live 环境,以便用户无需安装即可测试系统。我们可以用它来评测这个发行版或仅仅是当成一个一次性系统,并且很容易将这些文件复制到一个 U 盘上,在某些情况下,我们可能需要经常运行同一个或不同的 ISO 镜像。GRUB 2 可以配置成直接从启动菜单运行一个 live 环境,而不需要烧录这些 ISO 到硬盘或 USB 设备。获取和检查可启动的 ISO 镜像当镜像下载完后,我们应该通过 MD5 校验检查它的完整性。这会输出一大串数字与字母合成的序列。将这个序列与下载页提供的 MD5 校验码进行比较,两者应该完全相同。配置 GRUB 2在下面的例子中,一个 Kubuntu 15.04 live 环境将被配置到 Ubuntu 14.04 机器的 Grub 启动菜单项。这应该能在大多数新的以 Ubuntu 为基础的系统上运行。假如你是其它系统并且想实现一些其它的东西,你可以从这些文件了解更多细节,但这会要求你拥有一点 GRUB 使用经验。这个例子的文件 kubuntu-15.04-desktop-amd64.iso 放在位于 /dev/sda1 的 /home/maketecheasier/TempISOs/ 上。为了使 GRUB 2 能正确找到它,我们应该编辑/etc/grub.d40-custom分析上述代码下一行是指定回环设备,且必须给出正确的分区号码。复制代码代码如下:GRUB 的命名在这里稍微有点困惑,对于硬盘来说,它从 “0” 开始计数,第一块硬盘为 #0 ,第二块为 #1 ,第三块为 #2 ,依此类推。但是对于分区来说,它从 “1” 开始计数,第一个分区为 #1 ,第二个分区为 #2 ,依此类推。也许这里有一个很好的原因,但肯定不是明智的(明显用户体验很糟糕)..在 Linux 中第一块硬盘,第一个分区是 /dev/sda1 ,但在 GRUB2 中则是 hd0,1 。第二块硬盘,第三个分区则是 hd1,3, 依此类推.下一个重要的行是:复制代码代码如下:最后复制代码代码如下:启动 live 系统复制代码代码如下:当重启系统后,应该可以看见一个新的、并且允许我们启动刚刚配置的 ISO 镜像的 GRUB 条目:选择这个新条目就允许我们像从 DVD 或 U 盘中启动一个 live 环境一样。