专栏首页京程一灯我们应该为 JavaScript 重新命名吗?[每日前端夜话0xDA]

我们应该为 JavaScript 重新命名吗?[每日前端夜话0xDA]

日前端夜话0xDA

每日前端夜话,陪你聊前端。

每天晚上18:00准时推送。

正文共:1179 字

预计阅读时间:5 分钟

作者:Kieran Potts

翻译:疯狂的技术宅

来源:kieranpotts

Should We Rebrand JavaScript?

最近,LinkedIn 的 JavaScript 组提出了一个有趣的问题:

是否需要重新命名 JavaScript?

这个问题确实让我陷入了思考。

毫无疑问,JavaScript 的品牌存在问题:

  1. 在该语言的官方规范实际上被称为 ECMAScript —— 负责监督该语言规范的 Ecma International 标准组织对此有点笨拙。
  2. 正确地说法应该是 “JavaScript” 是指 Mozilla 指定的 ECMAScript 的子集,但是这个词可用来表示多个不同的 ECMAScript 超集,具体取决于其上下文意思。
  3. JavaScript 是 Oracle Corporation 的商标,这与该语言作为 Web 平台中心组件的位置不太吻合,它完全是用开放的技术和标准构建的。
  4. 甚至没有正式的 JavaScript 徽标,更不用说像 Go 的地鼠或 PHP 的大象这样的可爱吉祥物了。

非官方的,社区制作的JavaScript徽标。资料来源:https://github.com/voodootikigod/logo.js

众所周知,JavaScript 与 Java 无关。数十年来,这使非技术经理和招聘人员感到困惑。

但是对我来说,JavaScript 名称的最大问题是范围模糊。如果一个计算机程序被证明是用 JavaScript 所编写的,那么这并不能告诉我运行该程序所需的一切。因为我不知道:

  • 与程序兼容的 ECMAScript 的最低版本,或者至少是程序支持的 JavaScript 引擎或运行时环境。
  • 程序依赖于哪些本机 API(运行时环境添加的语言扩展)。该程序是要在“客户端”(在Web浏览器中)还是“服务器端”(在Node.js运行时环境中)运行,还是通用的?

使用第三方库时的困难证明了这种困惑。在 GitHub上 浏览可解决特定问题的开源 JavaScript 软件包时,对于每种解决方案,为了知道这个特定的 JavaScript 软件包是否与你自己的 JavaScript 应用兼容,都必须深入研究 README 或 package.json 文件。

(由于当前正处于模块系统之间的过渡期,这个问题变得更加严重:从社区的约定惯例(例如 CommonJS,AMD 和 UMD) 到 ECMAScript 的标准模块符号。

重新命名 JavaScript 可能有助于消除所有这些混乱。

新的 JavaScript

如果我们确实重命名了 JavaScript,将会如何称呼它?

JavaScript 已经有了很多名字。设计并实现该语言的第一版的 Brendan Eich 曾想把它称为 Mocha,但 Netscape 的市场营销专家将其命名为 LiveScript,当时它是在 Navigator 2.0 浏览器的早期 Beta 版中首次交付的,然后才确定其名称。1995 年底发布的 JavaScript。

该语言的替代实现称为 JScript(用于 Internet Explorer 浏览器的 Microsoft 版本)和 ActionScript(Adobe 的版本)。还有各种 JavaScript 方言,包括 CoffeeScript 和 TypeScript。

我认为 Eich 一直都是对的。Mocha 是个好名字。在软件领域,这个名字仅与 Node.js 的 Mocha 测试框架和 Java 的旧版反编译器冲突。

但我个人更喜欢将 JavaScript 重命名为 JS

无论如何,很多人都用 JavaScript 的缩写来指代 JavaScript。它与官方文件扩展名匹配。而且我们可以将无处不在的黑底黄字的社区徽标转变为官方标志。

随着时间的流逝,JS 名称的来源将在很大程度上被遗忘,就像大多数 PHP 开发人员无法告诉你 PHP 究竟代表什么一样。

更好的办法是提出一个标准约定,用来为 JS 程序引用特定运行时环境所提供的扩展 API,以与主机系统进行通信。

例如,假如 ECMAScript 成为 JS,则万维网联盟支持的 JS 超集的正式名称可能是 WebJS,这是万维网联合会所指定的。

也许会有一个 ServerJS 标准,该标准指定了预期由服务器端 JavaScript 运行时(例如 Node.js )提供的其他API。

最后,ECMAScript 的年度发布周期和版本约定非常方便,应该将其扩展到新品牌的 JS 的所有版本。因此,WebJS 2020 将引用 ECMAScript 的快照以及截至 2020 年标准化的所有 Web API。

那么你怎么看?Reddit 上的评论

原文:https://kieranpotts.com/rebranding-javascript/

本文分享自微信公众号 - 前端先锋(jingchengyideng),作者:疯狂的技术宅

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 企业级JavaScript:机遇,威胁与解决方案[每日前端夜话0x8E]

    Enterprise JavaScript: Opportunities, Threats, Solutions

    疯狂的技术宅
  • 2017 年学习 JavaScript 最好的书籍

    如果你不能成为一个好的 ReactJS,React Native,或者 Graphql 的开发者,那是因为你还没有熟练掌握JavaScript。每个月都会有新的...

    疯狂的技术宅
  • 前端入门书前端学习网站

    入门可以通过啃书,但书本上的东西很多都已经过时了,在啃书的同时,也要持续关注技术的新动态。这里推几本我觉着不错的书:

    疯狂的技术宅
  • JavaScript入门

    在Web开发日益成熟的过程中,PHP和JavaScript已经成为了Web工程师的必备技能。前者因为LAMP的经典组合,而后者JavaScript在经历过Jav...

    八哥
  • JavaScript的工作原理:引擎,运行时和调用堆栈的概述

    随着 JavaScript 变得越来越流行,各团队正在多个领域栈中使用它们,其中包括 — 前端,后端,混合应用,嵌入式等等。

    奋飛
  • 如何正确学习JavaScript(写给非JavaScript程序员和编程新手)

    目录 不要这样学习JavaScript 本课程资源 1~2周(简介,数据类型,表达式和操作符) 3~4周(对象,数组,函数,DOM,jQuery) JavaSc...

    前朝楚水
  • javascript学习思维导图(收藏)

    https://segmentfault.com/a/1190000006700115

    前端博客 : alili.tech
  • 学习纲要:JavaScript 基础概念

    Joel
  • 给新手的 JavaScript 介绍

    人与人沟通的语言称为自然语言,人与计算机沟通的语言称为编程语言。编程语言和自然语言的主要不同点是:自然语言表述的内容可以是有多种意思,编程语言表述的内容不会有歧...

    Joel
  • JavaScript学习之路-为什么要学习JavaScript语法

    为什么要学习JavaScript语法,没有理由,因为工作需要,也为了成为全栈,那现在还是好好努力学习吧!

    达达前端

扫码关注云+社区

领取腾讯云代金券