3

建议退役!JSON 之父:JavaScript 已阻碍进步

 2 years ago
source link: https://www.fly63.com/article/detial/12000
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

更新日期: 2022-08-14阅读: 13标签: json分享

扫一扫分享

今年 6 月份发布的 Stack Overflow 2022 开发者调查报告曾指出,JavaScript 已经连续第十年成为最流行的编程语言,现有超过 65% 的开发人员在使用。但 JSON 之父 Douglas Crockford 却在最近的一次采访中表示,JavaScript 已经成为了进步的障碍。

“我们今天可以对 JavaScript 做的最好的事情就是让它退役。20 年前,我是 JavaScript 的少数拥护者之一。嵌套函数和动态对象的组合非常出色。我花了十年时间试图纠正它的缺陷。我在 ES5 上取得了小小的成功。但从那时起,人们对进一步扩充 Stack Overflow 2022 开发者调查报告语言而不是使其变得更好产生了浓厚的兴趣。所以 JavaScript 和其他古早语言一样,已经成为了进步的障碍。我们应该专注于下一种语言,它应该看起来更像 E 而不是 JavaScript。”

Crockford 选择取代 JavaScrip t 的 E 是一种面向对象的语言,为安全计算而设计;该语言由他自己、Mark Millerde 共同创建。用 Crockford 的话说,它 "消除了 Java 许多不好的部分"。

62fb32bdd17e3.jpg

根据介绍,Brendan Eich 在 1995 年仅用时 10 天为 Netscape 发明了 JavaScript;“5 月份,我做了 10 天的艰苦工作,我没怎么睡觉”。Eich 称,“我去做了…… 一种用于 html 的编程语言,供网页设计师和程序员使用,直接嵌入到网页中…… 这个名字完全是个谎言。

它与 Java 的关系并不大,而是在语法上与一个共同的祖先 C 有关”。并表示,这是 “一项匆忙的工作,我知道会有错误,会有差距,所以我把它做成了一种非常具有可塑性的语言。这使得 Web 开发人员能够使其成为他们想要的样子。”

但一路发展至今,Crockford 指出,随着功能的增加,JavaScript 已经变得越来越复杂,与 Eich 的原始概念相去甚远。此外,许多 Web 开发人员并不编写 JavaScript,相反还编写了可编译为 JavaScript 的 TypeScript。TypeScript 由 Microsoft 的 Anders Hejlsberg 发明,理由是 JavaScript 的可塑性和缺乏类型安全性使其不适合大型应用程序。

TypeScript 在 Stack Overflow 的调查中也名列前茅。WebAssembly 则是一种二进制格式,可以被包括 C、C++、C# 和 Rust 在内的语言作为目标,它的出现是另一项可能破坏 JavaScript 主导地位的创新。

有开发者在 Hacker News 上的一次讨论中表示,“JavaScript 在短短的几年里已经爆炸性地流行起来。是的,这个生态系统复杂得可怕。即使是在全职的 JS 开发者中,这也是一个令人啼笑皆非的现象,它变得多么疯狂。我们都跟不上。”

Crockford 还指出,JavaScript 将很难转换,特别是因为它是每个浏览器都支持的用于 dom(文档对象模型)操作的语言。当被问及在可预见的未来是否有什么可以取代它时,Crockford 表示,自己也一直希望可以做到,但事实上存在两个困难:“首先,我们还没有一种语言。它需要是专为安全分布式编程而设计的基于最小能力的参与者语言。其次,我们需要所有的浏览器制造商都采用它,同时用设计良好的界面替换 DOM。”

对此,Reddit 上也有网友发表观点称:

正如 Douglas 之前所说,DOM 是一种用于创建应用程序的可怕的抽象概念。它是为文本文档设计的。网络的现代用例被一项技术入侵,而这项技术从根本上说是为了适当地支持一个更有限的目的。

真正的解决方案是将每个浏览器的 DOM api 替换为用于渲染 2D/3D 图形的东西,并将可发现性、可访问性和机器可读性考虑在内。这个新的引擎可以使用任何为处理这种用例而适当设计的新语言。概念或网站将以这种方式改变。它可以成为通过 udp/tcp 的应用程序。

我相信 JS 是一个症状,而不是问题。浏览器概念本身的局限性才是问题所在,它与我们使用它的目的不匹配。

相关链接:

  • https://evrone.com/douglas-crockford-interview

  • https://devclass.com/2022/08/04/retire_javascript_says-json-creator-douglas-crockford/

  • https://www.reddit.com/r/programming/comments/whipmk/the_best_thing_we_can_do_today_to_javascript_is/
来源:OSC开源社区

链接: https://www.fly63.com/article/detial/12000


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK