当前位置: 首页 > Web前端 > HTML

为什么JSON之父建议:退役JavaScript

时间:2023-03-28 19:27:53 HTML

DouglasCrockford:“我们今天对JavaScript能做的最好的事情就是退役它。”道格拉斯:我们今天对JavaScript能做的最好的事情就是让它退役。我的nm,你是谁啊,我的大JS是你一说退休就退休的?!查一下道格拉斯克罗克福德谁是这个家伙?道格拉斯·克罗克福德(DouglasCrockford)(英语:DouglasCrockford)是一位美国程序员和企业家,以推动和改进网络编程语言JavaScript而闻名;轻量级数据交换格式“JSON”的创始人。他还是众多JavaScript语言开发工具的创建者,例如JSLint和JSMin。最近,他在PayPal担任高级JavaScript语言顾问。当然,他也是JavaScript、JSON和Web技术的布道者,在这些领域出版过很多知名书籍和演讲。——wikipediaWC,BullfrogBullfrog,JSON之父,JavaScript的推进、改进、布道者,1975年在大学学习了Fortran编程语言,妥妥的OOOOOOGGGGGG老大。在此之前,JavaScript已经重仓,为什么现在一反常态地唱衰JavaScript?看他具体说了什么?Evrone:在你看来,JavaScript的哪些预期变化将是最重要的?道格拉斯:我们今天能对JavaScript做的最好的事情就是让它退役。二十年前,我是为数不多的JavaScript拥护者之一。它将嵌套函数和动态对象拼凑在一起非常棒。我花了十年时间试图纠正它的缺陷。我在ES5上取得了小成功。但从那以后,人们对进一步膨胀语言而不是让它变得更好产生了浓厚的兴趣。因此,JavaScript与其他恐龙语言一样,已成为进步的障碍。我们应该专注于下一种语言,它应该看起来更像E而不是JavaScript。重要的?道格拉斯:我们现在能做的最好的事情就是淘汰JavaScript。20年前,我是JavaScript为数不多的支持者之一,函数嵌套和动态对象的设计非常棒。我花了十年时间试图修复它的缺陷。后来它在ES5上取得了小的成功。但从那以后,人们更多地关注使JavaScript更具可扩展性,而不是让它变得更好。因此,JavaScript现在就像一门恐龙语言,成为了发展的障碍。应该多关注下一个编程语言,比如E语言。本瓜:哦?是推E语言吗?踩着一把,经典的营销方式?对了,什么是E语言?(注:不是easylanguage,不要混淆)E语言是MarkS.Miller、DanBornstein和ElectricCommunities于1997年创建的面向对象的安全分布式计算编程语言。E语言主要来源于Java的并行安全分布式编程中的语言Joule和Original-E,它是Java的一组扩展。E结合了基于消息的计算和类似Java的语法。基于事件循环和承诺的并发模型确保永远不会发生死锁。E的语法与Java最相似,尽管它也与Python和Pascal有一些相似之处。变量是动态类型的并且具有词法作用域。然而,与Java或Python不同的是,E完全由表达式组成。例如:递归deffactorial(n:int):int{if(n==1){return1}elseif(n>0){returnn*factorial(n-1)}else{throw("无效参数tofactorial:"+n)}}复制代码,第一个:int确保函数体只需要处理整数参数,第二个:int参数确保函数有返回值。能够提前看到函数的信息泄露,有利于安全审计。E程序的一个典型例子是挖矿场景,一个简单的电子货币系统,只需几行E代码就可以实现。贴上代码感受一二:defmakeMint(name):any{def[sealer,unsealer]:=makeBrandPair(name)defmint{tomakePurse(varbalance:(int>=0)):any{defdecr(金额:(0..balance)):void{balance-=amount}defpurse{togetBalance():int{returnbalance}tosprout():any{returnmint.makePurse(0)}togetDecr():any{returnsealer.seal(decr)}todeposit(amount:int,src):void{unsealer.unseal(src.getDecr())(amount)balance+=amount}}returnpurse}}returnmint}复制使用def关键字定义对象的代码,每个方法都以to关键字开头,并且:(int>=0))或:(0..balance))表示对输入的约束。从感官上来说,本瓜觉得既定义了输入又定义了输出,更有利于审核安全性。从这个角度来说它确实比JavaScript更严格。这里严格不代表重,轻量级的东西也可以严格。JavaScript一开始是作为一种轻量级的脚本语言设计的,但是随着web的繁荣和发展,JavaScript似乎已经不能满足了,于是出现了各种框架或者TypeScript,但是即使强大到TypeScript,它还是需要编译成JavaScript。这可能真的是两难吧~好吧~说不定boss真的能看得越来越远。未来无论是TypeScript、E语言,还是其他技术革命,我们都可以做一个观察者,拭目以待~有兴趣的工作者可以继续看看E语言,或者Joule语言相关的内容~erights.orgJoule