golang学习之路 -- 浅谈 C++,Python和 Go

C++,Python和 Go

在项目开发中主要使用的语言是C++和Python开发,但是C++的开发成本比较高,写Makefile和Cmake写到头大,而Python虽然简单,但是性能是硬伤,所以一般对性能没有要求的服务都是用Python开
发。 最近受公司大佬的推荐了解到golang, 语法简单编译速度快而且高性能,可以作为C++的替代品。
下面主要从包管理,语法,和性能方面对这三种语言做一个简单的比较。

包管理

C++这种与平台和编译器相关,很难有语言级别的包管理器, 一般是各个开发环境 持有各自的复用管理,比如 linux 的 apt-get, deb, yum,各种lib header dev包可以通过其安装的。一般都需要CMake或者Makefile进行工程管理,所以有相应的学习成本。

Python有丰富的包管理器,比如,distutils,setuptools, 还有较为流行的pip, pip 可以利用 requirments.txt 来安装依赖的库文件。

GO早期的包管理也是为人诟病,不过1.11 版本推出 modules 机制,让go语言包管理变得更方便简单,还支持GoProxy,replace,SubCommand等高级特性。

语法

在语法方面,C++和GO语言的语法较为相似,但是GO语言语法简洁,不需要程序员管理内存,有丰富的API可调用,也提供了切片,map等灵活的数据类型,Python作为解释型语言在语法方面以优雅著称,更为简单。Python 社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖 科学计算、人工智能、机器学习、Web 开发、数据库接口多个领域。

性能

在性能方面,Python作为解释型语言,不需要编译,在性能方面与C++和GO语言有很大差距,并行编程这一块因为GIL的存在,Python很难充分利用多核CPU的优势。GO的运行效率几乎可以媲美C/C++,而且天然支持并发编程,可以通过go关键字创建N个goroutine(一种用户态线程)来实现并发,同时提供多个goroutine的同步机制。

小结

综上所诉,C++在性能方面很高,但是开发成本也比较高。Python开发简单,但是性能较低,使用与一些对性能没要求的服务和工具开发。相对来说,GO语言的语法简单,开发成本低,而且效率也远高于解释型语言,适合大部分的服务开发。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值