NodeJS什么都能做,为什么还要JAVA

Python017

NodeJS什么都能做,为什么还要JAVA,第1张

只要不涉及大量计算,理论上JAVA能做的Node.JS几乎都能做,但“理论上能”和“能”是两回事。就如同能搬起一块砖,理论上就能盖一座楼。。但实际操作起来,就完全不是这么回事了。

盖楼的过程,会遇到各种各样的问题,每种问题,都要有不只一种的解决方案,而不是遇到什么问题,都仅靠一个非阻塞的异步IO就可以解决的。该如何实现跨线程访问?什么样的情况可能会产生内存泄露?用什么手段可以解决这些问题?答案不是凭空就出现的,对于一个新平台,要经过反复的试验,踩过数不清的坑,再填平这些数不清的坑,才可以真正的盖出一座大楼。。。。有些问题被封装起来了,你似乎不需要懂它的原理,只要调用一个函数就可以做一些事,被封装的问题,可以假装没看到,它并不是不存在。盖到第三层,你可以不考虑它。。。盖到第五层,也许楼就塌了。

Node.JS或许终有一天,可以做到JAVA能做到的一切。。。。但那可能是十年以后的事情,而不是今天。目前唯一有潜力挑战JAVA的是.Net Core,因为它已经证明了自己可以像JAVA一样,独自盖起一座大楼。。。Python也已经长大了,但受动态语法限制,它的楼是盖不高的。。。至于NODE嘛,可以通过使用TS,避开动态语言的劣根性。但归根结底,想挑战Java还太嫩了,今天只是个刚能勉强搬起一块板砖的儿童。

node开发快,运行的效率也算比较高,但是如果项目大了就容易乱,而且javascript不是静态类型的语言,要到运行时才知道类型错误,所以写的多了之后免不了会出现光知道有错但是找不到哪儿错的情况,所以测试就得些的更好更详细。java开发慢,习惯node、python、ruby这类语言的人会觉得java写半天主要都在写一堆没用的东西,不能像那三个语言那样把绝大部分精力都集中在程序逻辑本身。但是如果项目大、复杂的话,用java就不容易乱,管理起来比node省。