读《JavaScript大师Nicholas C. Zakas谈TypeScript》有感,也谈编译js问题

原文地址:http://www.nczonline.net/blog/2012/10/04/thoughts-on-typescript/


中文翻译地址:http://www.html5cn.org/portal.php?mod=view&aid=3768


====================================================


【感想】:


为什么我就对coffeescript,GWT,TypeScript之流提不起半点兴趣呢?


zks很实在,



这种高需求低供给的现状也让优秀的JavaScript开发人员处于令人敬畏的位置,开发人员并不希望改变现状,因为这样他们的薪资就可以得到保障。当然,从个人角度考虑,谁都不愿意改变



是部分原因,但更多的原因有三点:


1) 对于这种增加了编译环节的方式,我感觉他降低了我对最终代码直接控制的自由度,就算它做得再灵活,也提高了我控制最终代码的门槛,这个编译像黑盒一样让我不自在;


2) 我并不觉得直接使用js会给我在编程体验或者维护难度上带来多大的麻烦,我想最喜欢这种翻译成js方式的人,绝大部分应该是熟悉其它语言,不愿学习js特有语法,却对js有兴趣的人。真正js阵营的人,无论是经验丰富的,还是新手,应该都不会特别感兴趣。事实上,虽然帮我实现了一个更规格的语法糖,但相应地加入了一些“限制”,js语法可以玩出很多有趣的东西,因为这种限制,反而让我失去了这些乐趣,让小鱼儿变成了花无缺,失去了灵性。


3)成为工业标准、成为主流的可能性有多大?风险很高。它能像jQuery一样,API登上新版犀牛书吗?个人当玩具玩玩还行,但将来的团队合作,会不会因此提高了门槛?招聘、培训、规范。。。它能带来的实质性的好处其实相当有限,需要因此背上这样的风险吗?



如果是语法层面的改善,requireJs / seajs、jQuery、YUI等等,都在通过框架或类库的方式对js语法层面进行了完善。这种完善比起“编译”成js,轻量级得多。事实上,如果看过YUI3对js语法层的完善,会发现完全没必要再在语法层面纠结了。 私以为加强对js语法的了解,通过js封装语法糖才是正道,因为语法糖如何封装,根据自己习惯去定制和维护的成本比起一个编译器黑盒来,要低得多。



我喜欢zks说的这段话:



我认为编译为JavaScript的语言很难达到这一目标。我们应该说服更多的人学习JavaScript,而不是提供更多的选择让他们放弃编写JavaScript。我常在想,如果所有的团队、公司都把时间和精力花在研究和探索JavaScript的替代者而非维护、传播它,那将会发生怎样的一番景象。




原文地址:https://www.cnblogs.com/cly84920/p/4426491.html