NodeJS真的有那么美吗?
jopen 10年前
作为国内比较早一批采用NodeJS的程序员,我在完成了一个项目之后回头一看吓了一跳,比以往PHP开发多花了很多时间。
之前,凭着对JS的热爱,对NodeJS生态圈丰富的赞叹,我说服自己接受诸多重复性的代码,用一些手段去减低代码的难看度,比如少用匿名函数,步骤多时多用step,慢慢也就习惯了。
但是,项目硬生生的多花了不少时间,让我不得不开始重新审视NodeJS是否有说的那么美,抛开个人好恶来分析它的优缺点。
优点,我想不必重复说,很多人都说了很多,我基本都同意。唯独一点,我实在无法苟同。千美百美,一丑可以将它全部优点遮盖。谁用谁知道。
这一丑就是强制性的异步编程方式。
绝大多数情况下我不觉得异步是必要的,尤其是对于web。异步极大的增加了编程的复杂程度,也让调试变得极不直观,给性能调优带来诸多不便。
做过性能调优的人知道,如果性能不成为问题,就没必要调优,代码的可读性要高过执行效率,也就更没必要采用异步方式。此时,我的时间比CPU的时间更值钱。
NodeJS的强制性异步编程方式可不管这么多,你别无选择。这让我想起那句话,手里拿着锤子,看什么都像是钉子。
作为一个JS脑残粉,我开始寻找非异步的同类方案,其中SilkJS让我印象深刻,只可惜后来没怎么维护了。
无果,心中只想说,就不能好好的用JS在服务器端编程吗?非要搞出些奇怪的玩意!
来自:http://weibo.com/p/1001603795470584572407