不出所料,名为 6to5 的 JavaScript 转译器(Transpiler)被重新命名为 Babel。
Babel 的创始人 Sebastian McKenzie 说:
其实,关于 6to5 不与时俱进的怨言此起彼伏。所以有很多人基于此大胆地断定——直到 ES6 得到支持前,6to5 只会是一个临时的解决方案。我并不同意这个观点,我相信 6to5 有潜在的能力去影响未来的标准,而不仅是按照标准的规划逐渐完善。如果你想与下一代特性接轨,那么你不可小觑 6to5 的重要性。
正因为如此高瞻远瞩,团队一致认为 6to5 这个名字并没有正确传达出团队的目标。后来 ES6 被重命名为 ECMAScript 2015 更是雪上加霜。为了消除关于 6to5 未来的担忧和闲言碎语,团队决定将它 重命名为 Babel 。
团队和社区围绕着可能的名称进行了 一番讨论,最终决定使用 Babel 这个名称。Babel 一词来源于道格拉斯·亚当斯(Douglas Adams)所著的《银河系漫游指南》里的 巴别鱼(BabelFish),它是一个能帮助人类理解任何语言的虚构物种,同时也恰好向 巴别塔(Babel Tower)的故事致敬,《创世纪》中正是巴别塔的坠落造就了各种各样的语言。
McKenzie 说:
6to5 这个名字让我对整个项目的未来感到非常不自在,自从 6to5 支持 ES7 和 JSX 以来,整个项目完全走错了路,我不断地告诉人们 6to5 支持开箱即用的 JSX,这让他们感到很惊奇,然后人们就不断地请求我们支持项目中尚未实现的 ES6 新特性,而这一切仅仅因为他们把 6to5 与完全支持 ES6 联系在了一起。
与 6to5 所不同的是,Babel 这个名字没有什么原始含义,也不能通过这个名字描述出它所代表的含义。McKenzie 看起来 并不完全支持 这个主意:“它只是看上去不像其它建议那样糟糕而已”,他说。但是,这个讨论恰恰凸显出了命名一个如此重要并且影响深远的项目的困难之处,社区对重新命名的反应各执一词。
Babel 是一个最初用来将 ES6 代码转换为 ES5 代码的 JavaScript 转译器。你可以在 Github 和 babeljs.io 上获取它。
查看英文原文: 6to5 JavaScript Transpiler Changes Name to Babel
感谢丁晓昀对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论