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

更新日期: 2022-08-14阅读: 908标签: 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 许多不好的部分"。


根据介绍,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://fly63.com/article/detial/12000

web数据格式中关于:XML/HTML/JSON学习总汇

这篇文章讲解关于XML/HTML/JSON的学习,大家都知道服务器端可以返回的数据格式,主要就是:XML、HTML、JSON,当我们做数据抓取,ajax请求的时候都需要熟悉它们的使用。

解决IE8下JSON.stringify()自动将中文转译成unicode的方法

在IE8下JSON.stringify()自动将中文转译为unicode编码,原本选择的中文字符,传到后台变为了unicode编码,即u****的形式。查找资料后发现,与标准的JSON.stringify()不同,IE8内置的JSON.stringify()会自动将编码从utf-8转为unicode编码,导致出现这种类似于乱码的情况。

js实现json格式化,以及json校验工具的简单实现

这篇文章主要讲解:json结构及形式、json字符串转化为json对象【通过eval( ) 方法,new Function形式,使用全局的JSON对象】、json校验格式化工具简单实现

解析Json字符串的三种方法

在很多时候,我们的需要将类似 json 格式的字符串数据转为json,下面将介绍日常中使用的三种解析json字符串的方法

解决IE8以下低版本实现JSON.parse()与JSON.stringify()的兼容

将字符串和json对象的相互转换,我们通常使用JSON.parse()与JSON.stringify()。解决IE8以下低版本实现JSON.parse()与JSON.stringify()的兼容呢:利用eval方式解析、new Function形式、自定义兼容json的方法、head头添加mate等

什么是数据交互格式?xml和json优缺点

就是客户端和服务端进行信息传输的格式(xml和json),双方约定用什么格式进行传输,然后解析得到自己想要的值,xml扩展标记语言,属于重量级(第一占宽带、第二解析难),json属于轻量级的数据交互格式(不占宽带,解析很简单)

js 将json字符串转换为json对象的方法解析

将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键

聊聊JSON Schema

json现在已经成为比较通用灵活的数据交换格式,尤其是在web方面,总是少不了它的身影,js原生就支持它。网页中与服务器中和服务器交换信息也基本上式基于json的。在现在的开发中,特别是在前后端分离的开发中,后端提供接口,前端通过接口拿取数据;

百度JSON LD结构化数据代码分享

百度JSON LD结构化数据代码分享,搞外贸网站,企业网站这么就,对谷歌的 schema 结构化数据比较熟悉,但是对百度的结构化数据就了解太少了

什么是JWT(JSON WEB TOKEN)

Json web token(JWT)是为了网络应用环境间传递声明而执行的一种基于JSON的开发标准(RFC 7519),该token被设计为紧凑且安全的,特别适用于分布式站点的单点登陆(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!