
1 ine181x 2013-08-29 10:06:31 +08:00 转换出的代码是符合Javascript的最佳实践的。另外就是语法糖。 |
2 chuangbo 2013-08-29 10:07:19 +08:00 官网首页不是写了么。。摒弃了 Javascript 糟粕,保留了精粹,不容易进坑。 缩进这种问题就不需要讨论了。 |
3 lichao 2013-08-29 10:10:24 +08:00 也只是在 ruby 圈很流行,但是我看它有时候转换出来的 js 有点嗦 |
4 akinoniku 2013-08-29 10:12:29 +08:00 其实就是把JS好用的地方提炼出来了,再加点语法糖 除非你很熟悉JS,不然COFFEE的执行效率大概会比手写的高,而且优雅 但是如果你真的很熟悉JS的话,你手写JS出来的代码应该也是跟coffee编译出来的没差 所以选COFFEE还能省键盘。。 我觉得大概就是这样 |
5 anson0370 2013-08-29 10:25:41 +08:00 光一个 `->` 和 `=>` 我就笑醒了……嗯 省键盘而且提高开发效率不是挺好的么 用缩进分块的做法和 python 一样 根本不是什么问题 习惯习惯就好了 |
6 nigelvon 2013-08-29 10:27:47 +08:00 貌似coffee出来之前就精通js的用coffee的人很少。 |
7 crisyipw 2013-08-29 10:40:31 +08:00 根据 @kurtis 的话,感觉你是把 Coffee 和 JS 给分离了(看成是不一样的语言)。 其实你说的基本就是 Coffee 的全部了,除此之外,真没啥好说,编译的代码用 JS 也可以写出来,JS 的坑也可以靠经验填上,而且执行效率相差无几,所以就只有语法糖的问题。 Coffee 的语法糖很甜,因为参考的是同样以语法糖很甜出名的 Ruby,相比之下 JS 就太烦人。 我日常写项目是用 Coffee + CodeKit / uglify,编译后会有 source map,调试不成问题,所以,写起来舒服确实让我很爽。 |
8 0bit 2013-08-29 10:45:49 +08:00 Coffee 的语法糖简直是懒人的福音 |
9 zhujinliang 2013-08-30 08:57:43 +08:00 我是懒得学coffee script。。。js写的很顺手了,干嘛学个别的语言结果转出来还是js。。。 同理less,不过看起来less要比coffee有意义的多 |
10 kurtis OP js 里面有 可以直接 编译像LINQ 一样的语句吗? 我觉得LINQ很天马行空。 |
12 coolicer 2013-08-30 09:20:30 +08:00 coffee不利于团队交流,如果用那每个人都要学习,目测只有个人使用者比较多 |
13 kurtis OP |
14 jacobbubu 2013-08-30 09:38:09 +08:00 知乎上回答过类似问题。你知道,这种问题很容易挑起争论的:) |
15 anson0370 2013-08-30 09:51:00 +08:00 coffee 已经够好学了,为了提高生产率这点学习成本很便宜 |
16 istef 2013-08-30 09:58:02 +08:00 作为懒人我还是很喜欢 coffee 滴,写个 class 就得 function(){ return {}} 实在有点儿难受。缺点是,用 coffee 可能会影响对 Javascript 本身的理解。。。 anyway,写代码就是图个爽啊 |
17 luikore 2013-08-30 10:24:45 +08:00 用 coffee 就不会踩到下面的坑: ie7 最后一项多个逗号, ie8 splice, 该写 === 的地方写成了 ==, undefined 被别人覆盖了, 漏写个 var 使得变量泄漏到全局作用域... 就算是很有经验的 js 程序员也常常掉这种坑里, 学习 coffee 是物有所值的 |
18 clowwindy 2013-08-30 10:31:02 +08:00 |
21 yaroot 2013-08-30 10:52:06 +08:00 为什么不用js: http://guide.roylang.org/en/latest/introduction.html#what-not-just-write-Javascript coffee只停留在语法糖阶段, 学习成本相当低的 但如果会函数式语言的话, 更好的选择会很多: lispyscript, livescript, clojurescript, js of ocaml等等 |
22 davepkxxx 2013-08-30 11:20:43 +08:00 我还是觉得调试起来稍显麻烦 |
23 kurtis OP 我记得 teambation 用node写的。 好像他们要求程序员要会coffeescript. 估计生产力提升效果肯定是有的,就是,我还是不能习惯强制“排版”的语言。 顺便诚恳的问一句:如何用coffeescript 写有多重函数嵌套的程序? f1(a1,b1, fuction (a2,b2, function (a3,b3) { doSth31(); doSth32(); }) { doSth21(); doSth22(); }) ); |
24 wandou 2013-08-30 16:22:57 +08:00 用过一段时间,列表解析很爽很强大,模板功能也不错。 |
25 wb14123 2013-08-30 17:43:44 +08:00 @kurtis f1 = (a1, b1, f2) -> f2 = (a2, b2, f3) -> doSth21() doSth22() f3 = (a3, b3) -> doSth31() doSth32() |
27 kfll 2013-08-30 19:39:30 +08:00 - ruby 程序员终于可以开始干前端了! - 前端程序员终于可以不写花括号了! |
28 gaicitadie 2013-09-02 16:35:42 +08:00 一直不喜欢CoffeeScript的飘过 |
29 zkd8907 2013-09-02 17:01:08 +08:00 万年Javascript死忠表示什么脚本都替代不了Javascript。 |
30 yakczh 2013-09-02 17:15:35 +08:00 不欢迎的路过 |
31 FrankFang128 2013-09-02 17:36:29 +08:00 我和你的感觉一样,对coffee的语法感到迷惑。 |
36 fwee 2013-09-03 10:42:26 +08:00 coffee要是不依赖缩进就完美了 |
37 cin 2013-09-03 10:46:50 +08:00 用了一段时间coffee又默默地换回了js, 感觉js各种美:(我病了?) |
40 kurtis OP |
42 behappy 2013-09-04 10:28:07 +08:00 正确的缩进能增强程序的可读性。 |
44 luikore 2013-09-04 12:02:32 +08:00 @kurtis 一个是手动括号+(编辑器)自动排版, 一个是手动排版+(语言)自动括号, 后者对各种编辑器的适应能力更好... |
45 luikore 2013-09-04 12:04:09 +08:00 抗拒coffee的大部分理由都是: 宗教体验... |
46 dreampuf 2013-09-04 12:25:29 +08:00 Coffeescript提供一层足够好的抽象,使之更多针对JS的拓展,变得可行,比如 yield (Ice-coffeescript) 语法糖带来的表达能力是会带来编写&维护上的量变 |
47 chloerei 2013-09-04 12:43:40 +08:00 我刚接触 CoffeeScript 的时候困惑过,不知道这样增加一层值不值得。于是我坚持了半年写 Javascript,发现确实有很多累赘的代码或容易忽视的错误,发现 CoffeeScript 真的好,现在转写 CoffeeScript 了。 |
48 gdzdb 2013-09-04 15:48:25 +08:00 个人对coffee无感。 感觉就是用另外一种格式来写Javascript而已,增加学习成本。 |
49 G2bN4dbX9J3ncp0r 2013-09-04 16:46:41 +08:00 @gdzdb 就是另外一种格式写js,coffee的官网也说了,coffee技术Javascript。我感觉增加的学习成本对以后的收益来说是可接受的 |
50 kaifengjin 2013-09-04 16:48:10 +08:00 因为号称很容易学,大家都爱走捷径 |
52 arzusyume 2013-09-05 09:07:22 +08:00 我觉得coffee构造OOP相对比较直观一些 语法上比较单一至少可以强制让队友的代码规范些 最重要的是单行if可以不用纠结{}的问题... |