收藏文章 楼主
Python和Go,到底应该站哪边儿呢?
网友【chuang】 2020-05-06 00:48:24 分享在【时代发展的印记】版块    1    2

「人生苦短,我用 Python」是当下非常流行的一句口头禅。但你有没有想过,Python 就那么好吗?在某些方面,其他语言真的不香吗?本文作者对比了 Go 和 Python 的特点及测试结果,认为开发者应基于项目的属性和规模以及所需技能组合,合理地选择编程语言,而不是一味地将 Python 用在所有任务中。

网友分享在meiguo.com上的图片

互联网上有大量优秀的代码,它们构成了多种基础架构的基石。甚至本文所在网站的创建初衷也是创建优秀代码。虽然普通用户并没有注意到这一点,但优秀的开发者总是致力于优化其应用(以及代码)。

编写优秀代码的基础在于开发者的技能以及他/她所选择的编程语言。这必然导致开发者之间出现历史性的冲突,这冲突不仅存在于技能层面,主要还在于开发者所选择的语言。如果你把两种编程语言(如 Golang (Go) 和 Python)放在一起对比,大概率会得到这样的结果。

但是,我们退后一步,放下个人偏见和喜好,从优点和功能的角度来评价两种语言。然后设置公平的竞争环境和技能水准。

现在,我们只有两个选择:Go vs Python。那么问题来了:哪种语言更适合你?

关于 Python

询问一些开发者后,你会发现 Python 是「空前绝后」的语言。Python 获得这么多人青睐的原因在于它是一门非常优秀的编程语言。互联网上到处都是用 Python 写就的奇迹。

Python 是一门「古老」的语言,其概念首次出现于 1991 年。Python 的历史积淀赋予了它一些优势。Python 的使用者众多,这表示这门语言稳定,且具备大量编写完备的文档。在大部分案例中,你能找到几乎所有事物的库,以及关于你所思考的所有事物的代码示例。对于开发者和企业来说,这意味着使用 Python 伴随而来的是大量经验和代码,只需要评估即可。

网友分享在meiguo.com上的图片

还有大量以 Python 为基础创建的开源项目,因此在大多数情况下,你不需要从头开始。Python 可以很好地集成到企业级应用中,可用于机器语言和 AI 应用。但它也有缺点,比如,不适合内存密集型任务,执行速度略慢,不适合移动应用开发。

关于 Go 语言

Go 于 2009 年由谷歌开发完成。它解决了一个问题,创建出一种没有 C++等语言的过重包袱和过分设计的语言。这使得 Go 在性能和速度上都有极大提升,使用 Go 工作成为一件乐事。此外,大部分第一次使用 Go 语言的开发者不会感觉到不便,因为 Go 中的熟悉元素及其易用性构成了一项惊喜。

网友分享在meiguo.com上的图片

这并不是说 Go 语言在所有情况下都是完美的。虽然它将速度和优雅度提升到新的层次,但也舍弃了一些用户期望的功能。比如,它不具备大量库,也不支持继承。此外,它没有 GUI 库,也不支持对象导向的编程。Go 语言的特点表明它具备轻量级线程实现(Goroutine)、智能标准库、强大的内置安全性,且可使用最简语法进行编程。

性能测试

关于 Go 和 Python 的优缺点能说上三天三夜,但最关键的一点还是它们的性能。因此接下来本文在基于 Intel® Core™ i7–9700K CPU @ 3.60GHz × 8 cores 运行的试验配置中执行一些测试。

代码地址:https://github.com/sekarasiewicz/go-python-benchmark

二分搜索

创建整型列表(从 1 到 100000),使用二分搜索找出数字 729。测试结果如下:

网友分享在meiguo.com上的图片

冒泡排序

首先生成整型列表(包含 10000 个随机数字元素),然后使用冒泡排序算法对这些元素进行排序。测试结果如下:

网友分享在meiguo.com上的图片

从文件中读取

该测试是关于读取「lorem ipsum」文本文件,测试结果如下:

网友分享在meiguo.com上的图片

HTTP 请求处理

创建 HTTP 服务器很简单,但是用 Python 搭建一个类似的服务器则需要花费一番功夫。我们来看二者对简单的「hello world!」消息的响应时间:

网友分享在meiguo.com上的图片

如何选择?

Python 是社区最受欢迎的语言,在 2019 年第一季度「GitHub 发展最快的编程语言」中名列第二位(pull requests 数量增长 17%),但 Golang 也没落后多少,在该排名中名列第四(pull requests 数量增长 8%)。在 Golang 和 Python 中做出选择变得更加艰难。然而,在选择适合自己的语言时,你需要考虑以下事项:

可扩展性:Golang 在创建之初就考虑到了可扩展性。其内置并发性允许同时处理多项任务。Python 也使用并发性,但并非内置,它通过线程实现并行化。这意味着如果你打算处理大型数据集,Golang 似乎是更适合的选择。

性能:众所周知,Python 并非内存/CPU 友好的语言,但它具备大量库,可以高效执行基础的开发任务。Golang 具备内置功能,更适合微服务软件架构。

应用:Python 适合人工智能、数据分析、深度学习和 web 开发任务,而 Golang 适用于系统编程,执行云计算和集群计算应用的开发者喜欢使用 Golang。

社区与库:如前所述,Python 的历史赋予它一定优势。其中之一就是它具备大量库,拥有大型支持社区。而 Golang 语言仍在增长期,没有那么多库和社区支持。但是我们不应因此判定 Go 语言出局。其增长率和采用率非常惊人,每天都在扩张。

执行:如果速度是王道,那么 Golang 遥遥领先。

考虑以上事项后,具体使用案例将成为采用哪种语言的决定性因素。假如你的开发团队要创建微服务,那么 Golang 是更合理的选择,因为它速度快、易于编程、可扩展性优异。而 Python 更适合 AI、ML 和数据分析任务。

从直接测试结果来看,Go 在大部分案例中领先,被认为是 Python 的有效替代方案。开发者在选择编程语言时,应考虑开发项目的性质和规模,以及所需的技能组合。

好消息是,不管选择了哪种语言,Go 和 Python 都在持续演进。尽管在大多数情况下 Golang 可能是更好的选择,但 Python 社区不会坐以待毙。这两种语言都在扩张和增长。这意味着,未来我们将看到更多功能和改进。

原文链接:https://medium.com/softkraft/golang-vs-python-which-one-to-choose-3c052ec324e6

出处:头条号 @机器之心Pro

meiguo.com 发布人签名/座右铭我已经有美国绿卡了,只差美果绿卡啦!
大家都在看
楼主新近贴
回复/评论列表
默认   热门   正序   倒序
meiguo.com 创始人

emotion

2   2020-05-06 00:48:24  回复

回复/评论:Python和Go,到底应该站哪边儿呢?

暂无用户组 升级
退出
等级:0级
美果:
美过
精华推荐
  1. 美国联邦调查局警示:“新型医疗保险”骗局泛滥
  2. 属于中国的世纪可能已经到来
  3. 美国的州排名出炉,犹他州连续三年领先!
  4. 美国对华为“HarmonyOS”采取行动,引发科技领域的新争议!
  5. 川普家族“哈佛风波”和签证政策的突变
  6. 在美国生活半年,分享几句扎心实话!
  7. 嘴唇经常干裂起皮,或许并非缺水!
  8. 全球AI人才的争夺战白热化,顶尖研究员成为了科技巨头争夺焦点
  9. 任天堂的Switch 2正式发售,参数细节全曝光!
  10. 判刑15年!发币ICO的定性为诈骗
  11. 美国房价仍然高位,“美国梦”成奢望!
  12. 在美国生活半年,分享一下可能让人失望的真话!
  13. 美国物价到底贵不贵?近距离窥视一下佛罗里达州的中产家庭的日常消费
  14. 川普政府的关税政策或将加速中国崛起,助力中国成为全球的经济主导力量!
  15. 美国“非法移民家庭”遣返行动引发了“婴幼儿无国籍”的危机
  16. 美国企业在强化回归办公室的工作要求
  17. 川普总统:加拿大可以免费加入“金穹”导弹防御系统
  18. 美国政府“管不着”加州?纽森州长说继续做中国生意!
  19. 在美国,千万别做的这些事盘点!
  20. 盖茨列出了10项改变世界的技术名单
  21. 美国暂停了学生签证预约,申请者在社交媒体平台的活动须谨慎!
  22. 中美贸易战的谈判再起,稀土贸易成为焦点
  23. 马斯克的“130天政府生涯”终结后…
  24. 鲁比奥声称将会收紧中国留学生的签证审批政策
  25. 中美两国元首针对当下双边关系和经贸合作,☎️通话交流!
  26. 互联网女皇“340页AI报告”猛料刷屏
  27. 金星地壳似乎剧烈变化了,NASA即将启动新任务探索求证!
  28. 世界瞩目的电话,十个不寻常的细节剖析!
  29. 中美各自取消91%关税!为防🇺🇸川普政府反悔,🇨🇳重申关键问题!
  30. 中美通话的内容简短,但意味深长!
  31. 旅居海外十几年,母亲是心头之痛!
  32. 能熟练运用AI也不行?硅谷的40万人在近期被炒鱿鱼
  33. 手机充电习惯是影响电池寿命的根本原因
  34. 出乎全世界意料,中美两国的“2025日内瓦谈判”太亲密了吧?
  35. 英国2岁男童竟然刷新了门萨俱乐部“最年轻男性”会员纪录
  36. “蜗居”纽约的中国穷人:男女同住,毫无私隐… 却坚持不肯回国

美国动态 美果搜索

Your IP: 216.73.216.36, 2025-06-08 14:46:37

Processed in 0.10363 second(s)

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息
已有0次打赏
(2) 分享
分享
取消