Python/NodeJS坑记

Python/NodeJS坑记

自从学了Python和NodeJS,每每在写新的程序之前我就会问自己:到底用Python好,还是用NodeJS好?两者都能进行快速开发,并且各有千秋。

现在就记录一下Python和NodeJS开发程序时的各种坑,方便以后纠结的时候查询。

因为增加辅助代码会增加工作量,所以以下情况都是在不考虑其他辅助代码,例如线程池,任务管理,的情 况下的考虑。

坑1:Python对高并发的支持

Python对付并发的手断一般是多线程。多线程用来对付耗时较长的的并发任务是比较有效的。只需要写下平常的同步代码然后创建线程去运行就好了。
但是多线程处理有非常严重的问题,那就是对细粒度的并发任务不友好。虽然有其他办法可以解决效率问题,但是会增加代码量,降低易读性和可维护性。

坑2:NodeJS对内存的管理

既然Python对高并发支持不好,那么遇到高并发的程序,我们就用NodeJS吧。
想想是美好的,显示是残酷的。NodeJS处理高并发并没有想像中的那么好。

NodeJS有极速V8引擎,对异步调用相性超高,乍一看是非常好的处理高并发的语言。
但是NodeJS有内存限制!它没法使用超过2G的内存,这是由V8引擎内部决定的,暂时没法解决这个问题。

要就保证处理量不超过2G,要不就使用其他办法(目前想到Cluster似乎可以解决,但是尚未尝试过)

坑3:TypeScript for NodeJS

本来NodeJS是可以进行快速开发小型程序的。但是TypeScript出现了,这个东西令我非常喜爱,可创建它的项目非常麻烦,需要一大堆依赖项,一大堆命令。

最近发现了MSYS2,可以考虑写一个bash脚本简化创建项目的工作。

坑4:NodeJS第三方库太少

NodeJS虽然有npm,但是作为一款本地语言,本地操作的库还是太少了,很多常用操作都不支持,例如python对smb协议的支持就很好,而node就差多了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值