前言
嗖嗖嗖,我们来一篇新的对比文。让我们了解下,在Go越来越受欢迎的情况下,哪些语言,会成为对比的对象。
今天,我们来聊聊,Python与Go的对比。
Python
Python作为一种编程语言,目前来说是非常强大的一种,可以说是没有人能与之抗衡。这是一种易于操作的语言,许多开发人员每天都在创建更新的项目和用例。快速浏览PyPI,它是第三方模块的官方Python软件包索引,列出了270000个项目,并且在进行计数,使用范围从Web开发到数据科学,再到量子编程,涵盖了方方面面。
但是,作为一名程序员,我们应该了解一种语言的局限性,并乐于接受其他能更好地完成某项工作的语言。Python最初是为教学编程而开发的,因此易于学习和使用。
但是使它对初学者具有吸引力的功能恰恰是为什么它经常被其他低级语言胜过的原因:
- Python是一种动态类型化的语言,它导致速度变慢和内存消耗增加。
- 缺少固定格式会给混乱和更多的复杂性提供空间。
- 缺乏并发意味着请求时间的巨大差异。
Golang –专为规模化而打造
Golang是一种相对较新的编程语言,于2009年向公众推出。它是Google为解决Google规模较大的问题而开发的。说白了,可伸缩性是全球公司面临的“大”问题。Go开发人员构建了对并发的内置支持,这使其在云计算框架中得到认可。如果我们针对三个最简单的任务(插入,更新和删除)测试Go和Python的服务器响应时间,那么Go每次都要比Python快3毫秒以上。
即使这看起来很小,但如果我们考虑到大型公司当前使用AWS处理API请求和Amazon每个端口每1000个请求收费的事实,金额会迅速增加。
Go的性质也是静态的,这导致结构更加统一。在C的基础上设计,它更安全,更简单。
Go就像系统语言,Web开发语言一样,我们想要扩展的任何东西–我们想要超高效的东西,但可能不想用C ++编写。
如今,互联网上有许多网站被数以百万计的用户使用,它们是使用Flask用Python构建的。通过将Golang作为后端,这些网站可能会受益匪浅,因为这意味着每位用户的速度提升超过100毫秒。这些增加了服务器和客户端的处理成本,并带来了更好的用户体验。
GoLang vs Python性能
实际上,在benchmarksgame-team针对三个单独的复杂问题进行的测试中,性能差异令人惊讶且确定。
Go的缺点
要成为静态类型,需要为每个变量指定一个类型。它确实具有组合的声明/初始化运算符:=
,但是它将仅解释变量ONCE。如果我们尝试为该变量分配不同的数据类型,这可能会引起问题,例如:
package main import "fmt" func function_name(x int32){ ... } func main(){ x := 15 function_name(x) }
这是因为,在处x:=15
,Go默认将x的数据类型固定为int64。
Go也不是通用语言,流行的一部分原因,是一旦开始,它就很容易学习。
当前缺少对某些应用程序的库支持,但是许多开发人员正在努力满足这些需求。
Golang与Python
总结
今天简单的搞了下,Go与Python的对比,也该去多了解下。嘿嘿,永远要记得多学点。