CoffeeScript 已死,CoffeeScript 万岁! 已翻译 100%

oschina 投递于 2015/04/06 07:38 (共 6 段, 翻译完成于 04-19)
阅读 20897
收藏 26
3
加载中

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

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

北风其凉
翻译于 2015/04/06 22:47
2

我使用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; }

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

北风其凉
翻译于 2015/04/06 23:10
1

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

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

fr000
翻译于 2015/04/19 00:28
1

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

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

fr000
翻译于 2015/04/19 01:19
1

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

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

crossmix
翻译于 2015/04/19 16:07
1

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

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

北风其凉
翻译于 2015/04/09 23:39
1
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(31)

Jekey
Jekey
早点死,别让我闹心!
lanmingle
lanmingle
不想喷你.你还是把原生的搞成大神再说吧
右耳朵猫whinc
右耳朵猫whinc
typescrip更接近js语法,同时解决了很多js的问题,coffeescript语法差异太大,也没有类型检查等特性
吴亮
用过CoffeeScript,就觉得这玩意肯定没前途
雷神雨石
雷神雨石
哈哈,委员们又开始讨论了~
chai2010
chai2010
以后 TypeScript 就是 C++ 语言, JavaScript 就是 C语言, ams.js 是汇编语言.
其他的 JS 替代语言都可以安心死掉了.
黑传说
黑传说

引用来自“yak”的评论

所有缩进的语言写小段代码很爽,当业务变复杂了,象web这种需求迭代频繁的时候,就该数空格了 
缩进写小段代码也不爽啊,小段代码一般也会快速更改,如果恰好遇到一个没设置好缩进的编辑器,立刻废。
Zoker
Zoker
标题应该是:《有一个地方只有我们知道》
libinqq
libinqq
TypeScript 非常好
ben.
ben.
难道你们没玩过swift吗?他说的远不如这里精妙简洁啊,比ruby更舒服
返回顶部
顶部