2KB项目,专业的源码交易网站 帮助 收藏 每日签到

CoffeeScript 已死,CoffeeScript 万岁!

  • 时间:2019-01-23 18:31 编辑:2KB 来源:2KB.COM 阅读:323
  • 扫一扫,手机访问
  • 分享
摘要:
CoffeeScript 英文原文:CoffeeScript is Dead. Long Live CoffeeScript!

正如你可能已经听说的,JavaScript今年又准备推出一个新版本-ES6。这个名字源于它遵循了“ECMAScript”编码标准的第六个重要版本:ECMA-262。在这个期待已久的发布中,将包括一些对绝大多数JavaScript开发者处理问题大有裨益的新特性。

一些光芒四射的流行语……类、字符串插值、生成器函数、箭头函数、迭代器与for/of循环。这些都是具有重大意义的进步,但你可能也知道,这些特性中的许多或更多已经以CoffeeScript的形式存在了一段时间了,那是“一个被编译成JavaScript的小型语言”。

我使用CoffeeScript编码已经有一些年头。一个开发者在构建一个复杂的应用程序时,他必须在能够看到代码的同时,快速了解这段代码是做什么的。CoffeeScript让我在进行这些工作的时候比使用JavaScript时更加高效,我爱CoffeeScript,爱它因简介的语法而来的生产力提升,也爱它因视觉杂乱而来的自由。

ES6中新加入了很多好东西。但是,像一个被用水冲得过淡的美式咖啡,它还远没有对我的口味。作为一个CoffeeScript的粉丝,我很高兴听到一些我喜欢的CoffeeScript新特性(如箭头函数)现在被加入到了JavaScript中。然而,他们没有使用相同的灵活性去实现,还有其他的尴尬事情在里面。

CoffeeScript可以让你这么做:

solipsism = true if mind? and not world?

非常优雅是不是?在ES6中,你仍然不得不去处理那些畸形的东西,就像这样:

if ((typeof mind !== "undefined" && mind !== null) && (typeof world === "undefined" || world === null)) { solipsism = true; }

这还没完。在字符串插值中使用反撇号(`)还只是普通的怪异,圆括号和花括号在任何时候都是必需的。甚至是在星期日。

许多第一次尝试 CoffeeScript 的开发者会抱怨它的空格敏感特性。说实话,这家伙在一开始也坑了我几次。但我发现这些问题是很容易避免的,而且与这些小问题相比,更重要的是:我的代码能够始终远离分号,括号,·this·关键字的污染,就像在 AI Gore 会议上的丰田普锐斯。

ES6 中很多新特性明显受到 CoffeeScript 的启发。所以为何不敢拥抱这些变化?当前形式的 JavaScript 是由委员会设计的教科书式的样例软件,充斥着委员们冲突的意见和强烈的分歧。几年前,ES6 的开发前身:ES4,由于(委员们)在架构上的意见分歧和争论不得不被放弃。在这个委员会模式中,这个软件只有当每个人都厌倦了争论时才能发布。(委员会的)人们不情愿地妥协了,认输了,然后点了一份比萨庆祝他们的成果。

CoffeeScript 不会受到妥协的拖累。它是人们对于 JavaScript 能够是什么样的有点乌托邦式的愿景。这种狭窄的关注点大概是CoffeeScript获得如此两极分化名声的原因吧。开发者对它要么爱不释手,要么嗤之以鼻。如果你能够就它的表面价值而接受它,CoffeeScript 就已经出色地完成了它的使命了。

这是一次对“标准”的背离,就像最初的亮彩色的 iMac 一样,是对20世纪90年代时,那些清一色令人厌恶的灰褐色PC一次令人耳目一新的背离。一开始,人们强烈哭诉:“我没有软驱怎么活”。当然啦,每个人只有在经历了1个月左右的时间后,才会猛然意识到他们根本不需要软驱。哦,好像你口袋里平滑玻璃镜面的 Android 手机或者 iPhone 也是这样?我记得微软的 Steve Ballmer 曾大声宣称 iPhone 只是个玩具,“不可能”有市场——因为它没有所有‘正式’智能手机应该有的键盘。标准只有在它们自己的方向上足够纯粹,才是好的。

记住它是至关重要的,除非你正在使用汇编语言编程或者机器语言本身,但任何编程语言都是一种抽象。我们讨论的是,有多少抽象才是适量的,以及在我们的工作中应该有什么作用与实际上的标准相干。这基本上可能由个人来决定的,对于每位开发人员与每个团队来说,都没有对与错的答案。

对于我们的团队来说,这个问题主要是围绕在一个协同环境与我们想猛拉大马车,这种所谓的技术活中来关注诸多开发人员的工作。可以有把握的说,我们有一个正在进行的讨论。(诸多意见,对吗?)在坚持既定的标准之间,我们的团队正努力找到一种平衡,同时留有余地的提供给开发人员来创新和选择为他们工作的工具。

我想CoffeeScript可能会继续伴随着JavaScript,并推动JavaScript的创新。毕竟,这并不是一个非此即彼的命题。即使有一天CoffeeScript消失了,我想就像CoffeeScript一样的元编程语言(Metaprogramming Language)也会有很高的价值,因为它让程序员以一种新的方式去想象和理解他们的代码。这有助于提高每个人的艺术层次。

做一个善于交际的人,快来分享

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部