JavaScript真的应该一分为二吗?

在监督全球 JavaScript 规范的委员会会议上,由 Google 员工软件工程师 Shu-yu Guo 领导的小组提议将 JavaScript 一分为二,该提议得到了 Mozilla、Apple、Moddable 和 Sony 的开发人员的支持。

  • 提案中称之为 JSO 的核心版本将由运行时引擎实现,
  • 而另一个变体(称为 JSSugar)将包含更多需要第三方编译工具才能运行的功能。

复杂性属于边缘。基础技术应该简单

其原则是尽量不影响核心 JavaScript(或 JSO),以降低复杂性并降低出错的风险。这样,更多实验性功能开发就可以通过工具而不是核心来实现。

提出这条新路径的工程师认为这是解决可靠性和膨胀问题的务实方法,同时为那些想要添加元素的人保留了选项。

行业观点

1、这种分离将更多的权力交给了 Typescript、Babel、React 和 Npm 等工具提供商。

  • 工具生态系统蓬勃发展的那一刻,就是 JS 复杂性失控的那一刻。
  • 必须有一种无需工具的原生 JS 能够胜任应对当今应用程序开发的挑战。

2、与 CSS 等其他语言相比,JavaScript 尚未将其核心语言功能和库分离,这造成了当今开发人员面临的一些问题:对第三方工具的依赖。

  • 需要:一种非常快速、稳定、核心标准化的语言,以及单一的运行时标准。

3、分离以后新模式会造成困扰:

  • 近年来,JavaScript 社区已成功摆脱了构建或编译步骤。
  • 在这种新模式下,开发人员需要弄清楚哪些第三方工具可以使一切正常运转,而不是语言本身......

最新的 Stack Overflow 调查显示,虽然62% 的开发人员使用 JavaScript,但只有 58% 的人表示欣赏它,而 Rust 用户的比例为 82%,使用 Python 的比例为 68%。

JavaScript 必须能够支持二三十年前建立的网站,就像现在的网站一样--这确实会带来一些问题。 这是它的优势之一,但也是它的弱点之一。

附注:

Javascript生态复杂性的幽默:

硅谷,加州 - 本地网页开发者Alex Chen,28岁,以其前所未有的稳定性让科技界震惊,据报道,他已经连续三周坚持使用同一个JavaScript框架,令人难以置信。

Chen在当地开发者圈子中以"框架语者Framework Whisperer"著称,因为他能够以惊人的速度采纳和抛弃JS框架,自8月1日以来一直在不间断地使用Svelte,打破了他之前用Vue.js创下的4天记录。

"我不知道自己怎么了,"Chen说,显然对自己如此稳定感到震惊。"有一天早上醒来,我突然不想切换到Angular。或者React。或者这个采访期间发布的新框架。"

这一消息在JavaScript社区引起了震动。框架创造者们据说处于危机模式,一位匿名的来自大型科技公司的消息人士表示:"如果开发者开始坚持使用一个框架,我们怎么证明我们的工作是有意义的?"

Chen的同事们表达了敬畏和担忧的复杂情绪。资深开发者Lisa Patel指出:"我担心Alex。昨天,我看到他在读文档,而不是立即用新框架重写我们的整个代码库。这完全不像他。"

这一前所未有的事件并非没有挑战。Chen承认自己遭受了"戒断症状",包括无法控制地想要创建新的npm包的冲动,以及看到稳定、维护良好的代码时持续的眼跳。

尽管面临困难,Chen仍然决心坚持下去。"我正在一天天地应对,"他说,手指抽搐着,抵制着输入'npx create-next-app'的冲动。"但我听说有一个革命性的新框架,只被下载了50次。也许我会去看看......你知道的,只是为了保持消息灵通。"

截至发稿时,Chen最后一次被看到在键盘上疯狂地敲打,交替在Stack Overflow和某个名字只是一个无法发音的表情符号的晦涩框架的GitHub仓库之间。

https://www.jdon.com/76185.html

相关推荐
candyTong1 天前
一觉醒来,大模型就帮我排查完页面性能问题
前端·javascript·架构
玩嵌入式的菜鸡1 天前
网页访问单片机设备---基于mqtt
前端·javascript·css
前端一小卒1 天前
我用 Claude Code 的 Superpowers 技能链写了个服务,部署前差点把服务器搞炸
前端·javascript·后端
豹哥学前端1 天前
用猜数字游戏,一口气掌握 JavaScript 核心知识点(附完整代码)
前端·javascript
忆往wu前1 天前
从0到1一步步拆解搭建,梳理一个 Vue3 简易图书后台全开发流程
前端·javascript·vue.js
shao9185162 天前
第3章(2)——使用Gradio JavaScript Client
javascript·node.js·cdn·gradio·job·events·playcode
光影少年2 天前
大屏页面,一次多个请求,请求加密导致 点击 全局时间选择器 时出现卡顿咋解决(面板收起会延迟1~2秒)
前端·javascript·vue.js·学习·前端框架·echarts·reactjs
Mr.mjw2 天前
vue中封装一个环形进度条组件,根据外部盒子大小自适应变化
前端·javascript·vue.js
无心使然2 天前
Openlayers调用ArcGis影像服务之一动态地图、地图切片(/exportImage)
前端·javascript·数据可视化
像我这样帅的人丶你还2 天前
前端监控体系与实践(二):全局监控
前端·javascript·vue.js