JavaScript 将死?

作者 | shawn wang

译者 | Arvin,责编 | 夕颜

出品 | 优快云(ID:优快云news)

以下为译文:

          

每隔十年,JavaScript就会发生一次交接换班。我认为我们才刚刚开始一个加速变革的时期,在未来,这可能会被认为是JavaScript的第三纪元。

             

 

迄今为止的故事

JS的第一个时代(从1997年至2007年)堪称虎头蛇尾。大家都知道Brendan Eich的故事,但很少有人知道ES4是如何在诸如Flash / Actionscript之类的封闭生态系统的激烈竞争中步履蹒跚的。有关JS完整起源的故事,Brendan Eich和Allen Wirfs-Brock写的“《JavaScript:最初的20年》讲得最好。

             

JS的第二个时代(从2009年至2019年)始于2009的奇迹之年,这年诞生了npm,Node.js和ES5。随着Doug Crockford向我们展示了其出色的功能,用户构建了一套完整的JS 构建工具和库,并将JS的应用范围扩展到了台式机和新型智能手机。到2019年,我们甚至在诸如Facebook的Hermes手机以及诸如Svelte 3的编译器先行前端框架中看到JS专用运行时。

 

第三个时代

2020年就像一个新时代的开始。如果说“第一时代”是关于建立一种语言,而“第二时代”是关于用户探索和扩展语言,那么“第三时代”就是关于清理遗留假设和折叠工具层。

 

注意:我之前已经提出过“ 折叠层”的论点!

 

主要的遗留假设是JS生态系统对CommonJS的依赖,它是一系列妥协的结果。它的替代产品ES Modules已经静默了一段时间,但鉴于现有的模组虽然发展缓慢但“足够好”,因此ES Modules缺乏真正飞跃的动力。在前端,现代浏览器也可以简单处理这些内容,但重要的细节尚未解决。这个Pika/Snowpack项目的定位是通过提供一个可以随着ES模块的开发而消失的外观来加速未来的发展。作为最后的奖励,IE11将从今年开始直到2029年结束其缓慢的发展。

 

另一个必须被清理的假设是JavaScript工具必须在JavaScript中构建。在热路径中实现类型安全和10倍至100倍性能加速的潜力实在不容忽视。TypeScript几乎完全接管了JavaScript,“for JS in JS”的理想逐渐消失。现在Deno和Relay证明人们将学习Rust来贡献核心JS工具。Brandon Dail预测,这一转换将在2023年完成。我们将继续为大多数不关心性能的周边工具编写JavaScript和TypeScript。过去我们经常考虑“ 功能性核心,声明式Shell ”,现在逐渐转向“系统性核心,脚本式Shell”。

 

图层能够以有趣的方式折叠。Deno采取了一种激进的方法来编写一个全新的运行时,将大量常用工具折叠起来,包括执行诸如测试,格式化,linting和捆绑到一个二进制文件中, TypeScript的折叠甚至包括一个标准库等任务。Rome采取了另一种策略,将所有这些层折叠到Node.js节点(据我所知,这些使用起来很简单)。

 

即使在前端框架中,正在进行的活动也很有趣。Svelte 将从动画到状态管理的所有内容都折叠到了编译器中。React正在探索元框架和客户端-服务器集成。Vue 正在开发一个名为Vite的“unbundler(非捆绑式)”开发服务器项目。

 

总的来说,第三时代的JS工具将具有以下特点:

  • 快速

  • ESM优先

  • 折叠图层

  • 类型安全(以强类型语言为核心构建,在零配置的用户代码中支持TS)

  • 更安全(来自依赖攻击或宽松权限)

  • 多种语言

  • 同构(JS应该首先在构建时运行或者在到达客户端之前在服务器端运行)

所有这些工作的结果是开发人员获得更好的体验(更快的构建,行业标准的工具)和用户体验(更小的捆绑包,更快的功能交付)。它是JavaScript从站点脚本编写玩具语言到完整应用程序平台的最终蜕变。

 

JavaScript将死?

如果Gary Bernhardt的预测成立,那么“第三纪元”可能是JavaScript的最后时代(他给JS的“死亡”日期定为2035年)。因特网构建工具世界的幽灵总是若隐若现,甚至Brendan Eich也将他的名言更正为“ Always Bet on JS-and WASM”。他本以为JS可以成为“通用虚拟机”,但他曾告诉我, WASM现在是这个想法的最终实现。

 

如果是这样的话,我们现在就要进入游戏终局阶段了。

作者简介:


swyx(shawn wang),JS工程师,博主,开源项目参与者

原文链接:

https://www.swyx.io/writing/js-third-age/

本文为优快云翻译文章,转载请注明出处。

【END】

6月3日20:00,优快云 创始人&董事长、极客帮创投创始合伙人蒋涛携手全球顶级开源基金会主席、董事,聚焦中国开源现状,直面开发者在开源技术、商业上的难题,你绝不可错过的开源巅峰对谈!立即免费围观

更多精彩推荐
 ☞一文带你认清数据仓库“维度模型设计”与“分层架构” | 原力计划
☞5 月编程语言排行榜:C 重回第一,今年编程语言名人堂冠军还会是它吗?| 原力计划
☞芯片供应被掐断,华为能否安全渡劫?
☞来了来了!趋势预测算法大PK
☞附代码 | OpenCV实现银行卡号识别,字符识别算法你知多少?
☞15 岁黑进系统,发挑衅邮件意外获 Offer,不惑之年捐出全部财产,Twitter CEO 太牛了
你点的每个“在看”,我都认真当成了喜欢
基于径向基函数神经网络RBFNN的自适应滑模控制学习(Matlab代码实现)内容概要:本文介绍了基于径向基函数神经网络(RBFNN)的自适应滑模控制方法,并提供了相应的Matlab代码实现。该方法结合了RBF神经网络的非线性逼近能力和滑模控制的强鲁棒性,用于解决复杂系统的控制问题,尤其适用于存在不确定性和外部干扰的动态系统。文中详细阐述了控制算法的设计思路、RBFNN的结构与权重更新机制、滑模面的构建以及自适应律的推导过程,并通过Matlab仿真验证了所提方法的有效性和稳定性。此外,文档还列举了大量相关的科研方向和技术应用,涵盖智能优化算法、机器学习、电力系统、路径规划等多个领域,展示了该技术的广泛应用前景。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的研究生、科研人员及工程技术人员,特别是从事智能控制、非线性系统控制及相关领域的研究人员; 使用场景及目标:①学习和掌握RBF神经网络与滑模控制相结合的自适应控制策略设计方法;②应用于电机控制、机器人轨迹跟踪、电力电子系统等存在模型不确定性或外界扰动的实际控制系统中,提升控制精度与鲁棒性; 阅读建议:建议读者结合提供的Matlab代码进行仿真实践,深入理解算法实现细节,同时可参考文中提及的相关技术方向拓展研究思路,注重理论分析与仿真验证相结合。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值