CHANGE LOG 里早就看见这个名字不顺眼了…
这次又把require.extensions搞掉,让NODE在系统锁定模块里留下一坨Stability: 0 Deprecated的奇葩物…
isaasc把require.extensions设为deprecated而已,又不是不让你用。buffer的binary
编码格式早就被deprecated,还不是大把人buf.toString(‘binary’)用的不亦乐乎。他只是想说:够了,你们这些人别再往npm上传用coffeescript写的模块,老子不喜欢coffeescript。
喜欢就用吧,毕竟这个东西的出发点也是在某些方面降低JS的门槛,最终还是要面对原生JS的,若连原生JS都嫌麻烦真是懒得可以呀… 你让java情何以堪…
另外Coffee在前端没有支持,在后端拖累性能,用则两方不讨好。对自己学习也没好处,熟练掌握JS是要花很长时间滴。 NODE对开发者的要求不低,因为语言本身很灵活所以设计思想很重要不同的人写出来的东西差别明显
- 不喜欢CoffeeScript那种缩进方式
- 虽然有些人不喜欢CoffeeScript,那这并不阻碍你使用它啊!当然,如果程序要拿出来与别人讨论,最好还是先转换为JavaScript
- 所谓的“搞掉”require.extensions,可能时因为这种方式会使程序变得混乱吧
不需要纠结,coffee很好。 但我不会使用。为什么?因为我是从c#和java程序员,这里大多估计也不仅仅是使用node.js.虽然javascript不等于java,但在语法上还是很象,也就是以前经常写c#和java的现在用javascript的原生语法来写更习惯一些而以。
缩进在写一些小玩意儿的时候看起来很清晰,但当你的项目上了规模,代码庞大以后,再去重构的时候,你发现你的进度比不用缩进慢得不是一点半点,除非我一直写一些上不起台面的小demo,小片段,或者从时光随道中提前把以后的需求都想好,在web开发这种快速迭代的形势下,缩进除了显示一堵不必要的语法错误以外,真没有什么用处
关键是要统一吧。一个项目组的人最好都是用同样的,要么都是原生,要么都是coffeescript/livescript等。只要统一了,至少对于server端来说维护重构都不是太大问题。
但有时调用第三方的库如果要修改第三方的一些原生js代码来适应项目的时候就挺疼的。。。
@jiyinyiyong 俺更喜欢Clojure的语法:
(defn add [x y] (+ x y))
(println (add 1 2))
(map #(* %1 2) [1 2 3 4 5 6 7 8])