很多企业开发语言从Python 转向了 Golang的原因
因为原生 Python 的性能真的是太捉襟见肘了。单机运行计算型任务,速度慢是有目共睹的。IO 型人物不涉及多线程(比如用协程)的还好,一旦涉及到多线程,立刻懵逼。比如,你开个 Python 线程,让它 sleep 5 秒,再开第二个线程,随便算个 fibonacci 或者直接写个 busy loop,你就会发现你的程序实际上会 sleep 6 秒。
想突破也不难,用 pybinding11 写 c++,再用 python 调用。但都这样了,为什么不直接用 c++?因为对很多人来说 c++ 太难了,写起来心智负担很大,一不小心留个坑,服务挂了得 debug 半天。自己 debug 也就罢了,有时候还得拉同事来垫背。
Golang 就容易多了。菜鸟也能写出来一个性能远高于 Python 的程序。语法也简单,而且总体上也比较安全,不用瞻前顾后。自动 gc,又鼓励用 channel 的方式来做跨线程同步,很多低级错误都避免了。
当然 Golang 性能和 c/c++ 相比其实还是比较差。需要做计算的时候,又得去抱 c 的大腿,和 Python 一样。自动 gc 用起来爽,但导致性能天花板比较低,甚至听说会成为性能瓶颈。
那么有没有和 Golang 一样语法简单,菜鸟都能放心使用,不怕踩坑暴雷,性能又可以像 C/C++ 一样快的语言呢?
http://www.45zq.cn/