导读:JSON之父近日提出惊人之语:JavaScript应该消失。
Douglas Crockford 提到取代 JavaScript 的 E(http://erights.org/),是他与 Mark Miller 共同开发而成,为安全计算而设计。这并非是一门新的编程语言,而是早于 1997 年就被开发出来,后来,Mark Miller 对 E 进行了重新设计,消除了 Java 许多不良的部分,主要目标的支持安全的分布式系统的开发。
E语言的Logo
如 Douglas 之前所说,DOM 是一种用于创建应用程序的可怕的抽象概念。它是为文本文档设计的。网络的现代用例被一项技术入侵,而这项技术从根本上说是为了适当地支持一个更有限的目的。
真正的解决方案是将每个浏览器的 DOM API 替换为用于渲染 2D/3D 图形的东西,并将可发现性、可访问性和机器可读性考虑在内。这个新的引擎可以使用任何为处理这种用例而适当设计的新语言。概念或网站将以这种方式改变。它可以成为通过 udp/tcp 的应用程序。
我相信 JS 是一个症状,而不是问题。浏览器概念本身的局限性才是问题所在,它与我们使用它的目的不匹配。
有一些人提出了几种可能在一定程度上替代 JavaScript 的语言/技术:
TypeScript。TypeScript 是由微软的 Anders Hejlsberg 发明的,它是 JavaScript 的严格语法超集,提供了可选的静态类型检查,可用于开发大型应用。“作为一名 Typescript 开发人员,我早就放弃了对 JavaScript 的使用......除非必须,否则我不会碰它(在这种情况下,我可能会转换它)”,一名开发者分享道。
WebAssembly。作为一种二进制格式,可以被包括 C、C++、C# 和 Rust 在内的语言作为目标,它的出现是另一个可能破坏 JavaScript 主导地位的创新。
“我希望用 Ruby 来取代 JavaScript,将其嵌入到浏览器中”;
Dart 可能是目前“替换” JavaScript 的最佳竞争者。Dart 的类型和空安全,内置对 JIT 和 AOT 编译的支持,出色的开发工具以及快速增长的生态系统,使其成为了一种可能性。
JavaScript 的历史沿革
在 1995 年,网络浏览器先驱网景(Netscape)意识到,他们需要为人们提供一个更简单的选择。那时候他们处境艰难,与微软的大战正在紧锣密鼓,即将与 Sun 微系统公司达成重大战略合作伙伴关系,时间紧迫。他们雇佣了布兰登·艾奇(Brendan Eich),要求他尽可能快地创造一种新的语言。他在 10 天内就完成了 JavaScript 的第一个版本,正好赶上了这个漂亮的浏览器——Netscape 2。
1996 年,Netscape 将 JavaScript 提交至 ECMA International(European Computer Manufacturers Association, 一个欧洲标准化组织)。
1997 年,ECMAScript 标准第一版发布。ECMA 组织控制的标准控制着 JavaScript 语言的各个方面,帮助确保不同 JavaScript 版本兼容性,有时也称为 ECMAScript。
1999 年, ECMAScript 第三版的形式进行了更新,从那之后这个标准没有发生过大的改动。由于委员会在语言特性的讨论上发生分歧,ECMAScript 第四版遭遇“难产”并被废除,但随后于 2009 年 12 月发布的 ECMAScript 第五版引入了第四版草案加入的许多特性。
2015 年,第六版标准(ES6)发布,又称为 ES2015。ES6 语法引入了大量的语法特性,很大程度上改善了最初 JavaScript 设计上的很多缺陷,让 JavaScript 这个语言获得了一次现代化的重生。自此 JavaScript 慢慢从一个被普遍鄙视、嘲笑的粗糙语言变成了一个颇有竞争力的语言。
之后,ES 的标准更新开始加快了脚步,每年都有一个版本发布,只不过每次发布,加入的新特性比较少。今年 6 月份,第 123 届 Ecma 大会批准了 ECMAScript 2022 语言规范,这也是 ECMAScript 的第十三版。
相关链接:
https://evrone.com/douglas-crockford-interview
https://devclass.com/2022/08/04/retire_javascript_says-json-creator-douglas-crockford/
本文为 @ 万能的大雄 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。