为啥json之父要建议:退役javascript

author author     2022-12-03     683

关键词:

冲浪时无意看到一篇文章 ​​《douglas-crockford-interview》​​,这是一篇采访记录。

上来第一句就是:

Douglas Crockford: "The best thing we can do today to JavaScript is to retire it."

道格拉斯:我们今天能对 JavaScript 做的最好的事就是将它退役。

我nm,你谁呀,我大 JS 是你说退役就退役的?!

为啥

查一下 Douglas Crockford 这老哥是谁?

  • 道格拉斯·克罗克福特(英语:Douglas Crockford)是美国程式设计师和企业家,知名于对网页程式语言JavaScript推进和改良;且为轻量级资料交换格式「JSON」的建立者。他还是众多JavaScript语言开发工具的创造者,例如JSLint和JSMin。近段时间,他在PayPal担任JavaScript语言进阶顾问,当然他也是JavaScript、JSON以及web技术的布道者,在这些方面出版发行了很多知名的书籍及演讲。 —— wikipedia

为啥

WC,牛蛙牛蛙,JSON 之父,JavaScript 推进、改良、布道者,1975 年就在大学学习 Fortran 编程语言了,妥妥的 OOOOOOGGGGGG大佬。

为啥

那之前一直重仓 JavaScript,为何现在一反常态,唱衰 JavaScript 呢?

看看他具体怎么说的?

Evrone: In your opinion, what expected changes in JavaScript are going to be the most important?

Douglas: The best thing we can do today to JavaScript is to retire it. Twenty years ago, I was one of the few advocates for JavaScript. Its cobbling together of nested functions and dynamic objects was brilliant. I spent a decade trying to correct its flaws. I had a minor success with ES5. But since then, there has been strong interest in further bloating the language instead of making it better. So JavaScript, like the other dinosaur languages, has become a barrier to progress. We should be focused on the next language, which should look more like E than like JavaScript.

主持人:在您看来,JavaScript 的哪些预期变化是您最看重的?

道格拉斯:我们现在最好就是退役 JavaScript。20 年前,我是 JavaScript 为数不多的拥护者,函数嵌套以及动态对象的设计很棒。我花了十年时间试图去修复它的缺陷。后来在 ES5 上取得了小小的成功。但是自从那以后,人们更侧重于扩大使用 JavaScript 的规模,而不是让它变得更好。所以,JavaScript 如今像一个恐龙语言,已经成为了发展的阻碍。我们应该更多关注下一种编程语言,比如 E 语言这种。

本瓜:噢?难道是来推 E 语言的?踩一捧一、经典营销路数?

话说什么是 E 语言?(注意:不是易语言,别混淆了)

  • E 语言是1997年由Mark S. Miller、Dan Bornstein、Electric Communities创建的用于安全分布式计算的面向对象程序设计语言E语言主要源自于安全分布式编程中Java的并行语言Joule 和Original-E,后者是Java的一组扩展。E将基于消息的计算与类Java语法相结合。基于事件循环和Promise的并发模型确保永远不会发生死锁。

E 的语法与 Java 最为相似,尽管它也与 Python 和 Pascal 有些相似。变量都是动态类型的,并且有词法作用域。然而,与 Java 或 Python 不同的是,E 完全由表达式组成。

举个例子:递归

 def factorial(n :int) :int 
if (n == 1)
return 1
else if (n > 0)
return n * factorial(n-1)
else
throw("invalid argument to factorial: "+n)

其中第一个:int 确保函数体只需要处理整数参数,第二个 :int 参数确保函数将有返回值。能够事先看到函数的信息泄漏,有利于安全审计。

E 程序的典型例子是挖矿场景,一个简单的电子货币系统,只需几行E代码就能实现。

贴下代码感受一二:

 def makeMint(name) :any 
def [sealer, unsealer] := makeBrandPair(name)
def mint
to makePurse(var balance :(int >= 0)) :any
def decr(amount :(0..balance)) :void
balance -= amount

def purse
to getBalance() :int return balance
to sprout() :any return mint.makePurse(0)
to getDecr() :any return sealer.seal(decr)
to deposit(amount :int, src) :void
unsealer.unseal(src.getDecr())(amount)
balance += amount


return purse


return mint

其中用 def 关键字定义对象,to 关键字开始每个方法,:(int >= 0)) 或 :(0..balance)) 表示对输入的约束。

感官上来说,本瓜觉得它对输入、输出都做了一个界定,这样更利于审查安全性。从这个角度看它的确比 JavaScript 更严格。这里的严格并不代表繁重,轻量的东西也可以是严格的。JavaScript 设计之初就是轻量的脚本语言,但随着 web 繁荣壮大,JavaScript 似乎满足不了了,于是出现了各类框架、或者 TypeScript,但是即使是强如 TypeScript,还是要被编译成 JavaScript。这或许真的是一种困局~

为啥


好吧~ 也许大佬真的能看的更远更远,以后究竟是 TypeScript 还是 E 语言,还是其它技术的革命,我们可以作为一个观察者,拭目以待吧~

有兴趣的工友可以继续看看 E 语言、或者 Joule 语言 相关内容~

OK,以上便是本篇分享。点赞关注评论,为好文助力

json之父:javascript已阻碍进步,建议退役!

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

json之父:javascript已阻碍进步,建议退役!

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

json之父:10天赶工出的javascript,最好的归宿就是让它退役

文章来源: 机器之心原文编辑:陈萍杜伟JavaScript 从诞生之日到现在,已然成为一门明星语言,使用人数不断扩大。根据今年早些时候StackOverflow的一项调查结果显示:超过65%的开发人员使用JavaScript,远... 查看详情

json之父:10天赶工出的js,最好的归宿就是让它退役(代码片段)

...f0c;拉你进程序员交流群👇👇转自:机器之心JavaScript这一现今非常流行的编程语言,竟然已经到了要谈论「退役」的地步了吗?JavaScript(简称JS)是一种具有函数优先的轻量级,解释型或即时编译... 查看详情

redis之父的“退役”感言

Redis之父Antirez今早发布了一篇文章,题为《TheendoftheRedisadventure》。多年以前深入学习过Redis,这个最流行的缓存解决方案。当时惊叹于其近乎“变态”的性能表现,简直就是一个性能猛兽。而更令人印象深刻的是࿰... 查看详情

json之父:“让javascript退休,是对它最好的事情!”(代码片段)

...ews)编程语言界,纷争不断,争论不休。“让JavaScript退休!”近日,美国程序员、企业家、数据交换格式JSON之父,同时也是众多JavaScript语言开发工具的创造者DouglasCrockford在接受软件开发商Evrone采访时& 查看详情

json之父新作,javascript“葵花宝典”参悟js之道

道格拉斯新作《JavaScript悟道》上市以来,深受读者喜爱。译者死月(朱凯迪)在翻译道格拉斯这本书的过程中,加入了很多自己的思考,让这本书的内容更加传神、丰满,也展现出了JavaScript的“道”。本... 查看详情

javascript大神:我们能对javascript做的最好事情就是让它退役!

“我们今天可以对JavaScript做的最好的事情就是让它退役!”大神总是能说出让人印象深刻的话,上面这句话来自JSON和JSLint的作者DouglasCrockford。Douglas还写过两本非常知名的书《HowJavaScriptWorks》和《JavaScript语言精粹》࿰... 查看详情

为啥不建议数组使用 JavaScript 的 For...In 循环? [复制]

】为啥不建议数组使用JavaScript的For...In循环?[复制]【英文标题】:WhyisJavaScript\'sFor...Inloopnotrecommendedforarrays?[duplicate]为什么不建议数组使用JavaScript的For...In循环?[复制]【发布时间】:2011-07-1306:56:09【问题描述】:我在某处读到... 查看详情

为啥 Javascript 不能从字符串文字中解析这个 JSON 数组?

】为啥Javascript不能从字符串文字中解析这个JSON数组?【英文标题】:Whycan\'tJavascriptparsethisJSONarrayfromastringliteral?为什么Javascript不能从字符串文字中解析这个JSON数组?【发布时间】:2015-09-1709:57:19【问题描述】:我想做的很简单... 查看详情

为啥 Javascript 不能从字符串文字中解析这个 JSON 数组?

】为啥Javascript不能从字符串文字中解析这个JSON数组?【英文标题】:Whycan\'tJavascriptparsethisJSONarrayfromastringliteral?为什么Javascript不能从字符串文字中解析这个JSON数组?【发布时间】:2015-09-1709:57:19【问题描述】:我想做的很简单... 查看详情

Javascript:为啥访问闭包变量可能很慢

】Javascript:为啥访问闭包变量可能很慢【英文标题】:Javascript:whytheaccesstoclosurevariablemightbeslowJavascript:为什么访问闭包变量可能很慢【发布时间】:2012-03-0404:08:39【问题描述】:最近我读到了这个performanceguideLet\'smakethewebfaster... 查看详情

kaldi之父danielpovey,我为啥选择在小米开发下一代kaldi

感谢分享原文-http://bjbsair.com/2020-04-03/tech-info/29916.html本文约3185字,建议阅读6分钟本文介绍Kaldi之父DanielPovey对语音识别领域技术发展的想法。在2019年小米开发者大会上,Kaldi之父DanielPovey以小米首席语音科学家的身份第一次和国... 查看详情

为啥将数据从 php 发送到 javascript (Laravel) 时进行 json 编码?

】为啥将数据从php发送到javascript(Laravel)时进行json编码?【英文标题】:Whyjsonencodewhensendingdatafromphptojavascript(Laravel)?为什么将数据从php发送到javascript(Laravel)时进行json编码?【发布时间】:2017-05-3114:01:02【问题描述】:我刚刚阅... 查看详情

JavaScript fetch API - 为啥 response.json() 返回一个 promise 对象(而不是 JSON)? [复制]

】JavaScriptfetchAPI-为啥response.json()返回一个promise对象(而不是JSON)?[复制]【英文标题】:JavaScriptfetchAPI-Whydoesresponse.json()returnapromiseobject(insteadofJSON)?[duplicate]JavaScriptfetchAPI-为什么response.json()返回一个promise对象(而不是JSON)?[ 查看详情

为啥没有官方的 JavaScript 参考? [关闭]

】为啥没有官方的JavaScript参考?[关闭]【英文标题】:WhyistherenoOFFICIALJavaScriptreference?[closed]为什么没有官方的JavaScript参考?[关闭]【发布时间】:2010-12-0900:54:49【问题描述】:我尝试搜索JavaScript参考,但没有可用的。最好的两... 查看详情

为啥我们不应该在 javascript 中使用 ++? [复制]

】为啥我们不应该在javascript中使用++?[复制]【英文标题】:whyshouldn\'tweuse++injavascript?[duplicate]为什么我们不应该在javascript中使用++?[复制]【发布时间】:2011-03-1509:25:40【问题描述】:可能重复:Whyavoidincrement(“++”)anddecrement(... 查看详情

c++之父给c++程序员的1047条建议(文末送书)

从1979年C++诞生的那一天起,C++之父BjarneStroustrup就一直致力于C++的标准制定、语言设计与实现、教学和研究等相关的工作,硕果累累,为C++的发展和应用做出了杰出的贡献。Stroustrup不仅仅是在C... 查看详情