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 可以利⽤ 来安装依赖的库⽂件。
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语⾔的语法简单,开发成本低,⽽且效率也远⾼于解释型语⾔,适合⼤部分的服务开发。
go语言开发环境搭建

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。