Type 比 Coffee 强大些么?
http://stackoverflow.com/questions/15172089/typescript-or-coffeescript https://discventionstech.wordpress.com/2014/01/19/coffeescript-vs-typescript-vs-dart/ http://dotnet-rocks.com/2014/01/29/coffeescript-vs-typescript-vs-javascript-my-thoughts/
楼上息怒,找了几篇相关文章在读 有人说做大型应用用 coffee 好点,可是 angularjs 用了 type,有点疑惑
首先,你的问题是挺有深度的。但是我觉得不是你现在的关注点
。你了解了这个问题对你现在有帮助吗
?
这种问题我不会,不知道论坛有多少人清楚。
而且这种东西有技术趋势和各方面的因素在里面,比如架构师个人的技术爱好,擅长的东西不同,那么选择也就不同。
综上:just do it
coffee 是语法糖,它再怎么变花样最终生成的还是 Javascript,无法超出一点点。
Typescript 是 Javascript 的超集,Angular2 用它主要是为了扩展的 annotation,原本 Angular2 想另外搞一套超集,但是众怒难平…后来和微软协作再加上 ember 的 yehuda 做出的一些贡献,最终还是决定使用 Typescript。这里面有一个细节,yehuda 本人就是 tc39 委员之一,微软也有重要人物,他们都会致力于让 annotation 成为 es next 标准的特性之一,既然如此,Angular2 想要的目的达到了,自然不用另起炉灶。
这些背景对你现在而言重要么?
#8 楼 @lips http://tc39wiki.calculist.org/about/people/
Actually, you can search on Google, there're lots of references about members of tc39.
#7 楼 @nightire angular 2 没有什么众怒难平。是 v8 的组比较大,意见不统一: 一票人支持改良 js(后来有了 atscript,atscript= typescript+annotation,typescript 后来决定加入 annotation,于是那票人觉得 atscript 没存在的必要了,和 ts 一起干了); 另外一票人 (大牛多一些,所以想法更激进吧~~)支持革了 js 的命,于是有了 dart,从设计上都是在解决 js 的痛点 (但很多人说它长得像 java,其实它更像 c#,最新的 dart 1.9 的 await 的设计者,就是以前就在 MS 设计 c# linq 的那位),但激进的结果是:和 js 互操作性太差,而 js 的库又太庞大,导致 dart 不被接受 (想想 scala 要替代 java 有多艰难吧)。
再回 lz 的疑问: coffee 认为 js 的语法不够漂亮优雅,ts 和 dart 则觉得 js 问题不是语法上的,所以可以说两者对 js 的看法是有差异的,这就是 angular 选择 ts 的原因,而不选 dart 的原因是 angularJS 属于改良派,当然也有 angularDart,只是几乎没怎么见有人用。
从 dart 不再打算内置 vm 进 chrome,看样子是改良派胜利了 2333
#10 楼 @hooluupog 我说的众怒难平倒是和这个没关系,可以看一下今年的几个大会,许多人都提到这些事情。去年 ng 说要搞 atscript 的时候就有因为 typescript 没有 annotation 的原因,Igor 在 presentation 里多次画了那个超集的圈圈图来解释这个问题,然而那时候社区就是一片抱怨,大家都说与其这样为什么不试着改良 typescript(或其他)?后来具体怎么演进的我也不太清楚,也没心思去弄清楚,不过总的来说这就像一个契机,大家协作了,typescript 进化了,annotation 提交标准了,all happy。
dart 其实是另外一回事,语言之争与语言内部的改进措施之争并非一个层面上的讨论。LZ 的问题其实远没到这个地步。