有没有什么东西是Go可以做但Python做不到的?

ayukisama


同为编程语言的Go与Python,Go确实有些优势是Python做不到的。

Go语言如今已经越来越受到大家的青睐。据悉知乎已经用Go语言代替了Python重构了搜索部分的功能,由此可见Go语言在后端方面取代Python将慢慢成为一种趋势,也许就在近几年,大家可以拭目以待。

那么接下来,我来谈谈Go能做到,但是Python做不到的。

<strong>


高效部署

Go语言除了glibc之外没有对其他外部包的依赖,这让部署过程十分简便,运行环境只需要基础的系统和必要的管理工具即可,不用担心部署上去之后由于缺少包而运行不起来的事情,大大减少了运维的工作量。而Python就没这么容易了,它的部署工具生态由于早期发展的原因,可以用混乱来形容,虽然可以用镜像来解决,但是与Go相比这无疑是额外的一笔精力开销。

并发性好

Go语言非常适合高并发的服务端开发,很多情况甚至不需要考虑锁以及锁带来的各种问题。此外,单个的Go应用能够有效的利用多个CPU,进一步提高保证了并发性能。而Python在这方面也是逊色许多,由于全局所GIL的原因,它没法像Go一样高效率使用CPU,在部署应用的时候,总是会有些资源浪费。曾经有人统计过,如果某个Python应用启动后需要占用100MB内存你,而服务器是32个CPU的,那么留一个CPU给系统,运行31个应用副本就要浪费近3GB的内存资源。

执行性能

这点也是大家经常说的,Go语言的性能趋近C语言,最好的情况下,速度能够比Python快了近30倍。

以上是我认为在开发应用过程中,Go语言做得到,而Python很难追上的能力,欢迎各位在下方与我沟通。

我是苏苏思量,来自BAT的Java开发工程师,每天分享科技类见闻,欢迎关注我,与我共同进步。


苏苏思量


Go狗可以跑步,Python蟒蛇没腿跑不了


分享到:


相關文章: