亿万级的 go与C高效混合编程!

今年是 Go 语言诞生的 8 周年,在这个特别的年,Go 语言官方博客发表的纪念刊文称,全球有大约 100 万 Go 开发者,Go 语言在 GitHub 的 2017 年最流行编程语言榜上排第九,也是 2017 年 GitHub 增长最快的语言,同比增长率 52%。

根据编程问答网站 Stack Overflow 的调查,Go 语言是唯一一个同时进入用户最喜欢编程语言和最想要编程语言榜单的前五。

很多小伙伴并不是很了解 GO 语言,让我们一起来看看他8年的辛苦历程!

1

什么是GO语言?

Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。

2

GO语言行业趋势如何?

Go 语言作为开源项目发布,已经 8 周年了。官方发表博客表示了对它的庆祝,并罗列了几项流行度趋势图。我们明显可以看出,Go 这几年的快速发展。

Go 在全世界拥有大约 100 万的 Go 开发者,它在 GitHub 的 2017 年最流行编程语言榜上排第九,Go 还以每年 52% 的增长率成为 GitHub2017 年增长最快的十种语言之一。在增长速度方面,Go 超越了增长率为 44% 的 Javascript,占据了它的位置。

在 Stack Overflow's 2017 年开发者调查中,Go 是唯一一个同时位列“最喜爱的五种语言”和“最想使用的五种语言”的语言。正在使用它的人们热爱它,还没在使用它的人们希望使用它。

在 2014 年,分析家 Donnie Berkholz 称 Go 为正在兴起的云基础架构的语言。到 2017 年,Go 已经成长为成熟的云基础架构的语言。如今,每一个云公司在其云基础架构中都有用 Go 语言实现的关键的组件,包括 Google Cloud,AWS,Microsoft 等等。

3

GO语言可以做什么?

根据谷歌著名的软件工程师——Go语言的设计人之一——Rob Pike的说法,它是用来开发”大型软件“的。

Pike说Go语言适合于很多程序员一起开发的大型软件,并且开发周期较长,支持云计算的网络服务:简言之,就是服务端软件。Go语言能够让程序员快速开发,并且在软件不断的增长过程中,它能让程序员更容易地进行维护和修改。它融合了传统编译型语言的高效性和脚本语言的易用性和富于表达性。“(作为原贝尔实验室Unix开发小组成员,Pike对系统软件有相当的认识。)

3

GO语言的优势是什么?

部署简单。Go 编译生成的是一个静态可执行文件,除了 glibc 外没有其他外部依赖。这让部署变得异常方便:目标机器上只需要一个基础的系统和必要的管理、监控工具,完全不需要操心应用所需的各种包、库的依赖关系,大大减轻了维护的负担。

并发性好。Goroutine 和 channel 使得编写高并发的服务端软件变得相当容易,很多情况下完全不需要考虑锁机制以及由此带来的各种问题。单个 Go 应用也能有效的利用多个 CPU 核,并行执行的性能好。

良好的语言设计。从学术的角度讲 Go 语言其实非常平庸,不支持许多高级的语言特性;但从工程的角度讲,Go 的设计是非常优秀的:规范足够简单灵活,有其他语言基础的程序员都能迅速上手。更重要的是 Go 自带完善的工具链,大大提高了团队协作的一致性。

执行性能好。虽然不如 C 和 Java,但通常比原生 Python 应用还是高一个数量级的,适合编写一些瓶颈业务。内存占用也非常省。

go语言虽然很多特性都被人诟病,语法层面乏善可陈,可是他毕竟解决了码农的痛点。迅速形成了一个强大的社区。强大的社区又会导致语言进一步强化自身,形成正反馈,想不成功都难。

本文来自企鹅号 - 黑马程序员视频库媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏灯塔大数据

塔荐 | 2018 年最值得关注的 JavaScript 趋势

前言 JavaScript 渗透的范围越来越广,它能做的事情已经远不止前端开发而已。不久前stateofjs.com刚刚发布了 2017 JavaScript ...

3328
来自专栏无原型不设计

在原型设计上,UI和UX设计师有哪三个区别?

原型设计在日常的软件开发过程中是必不可少的,不管是UI还是UX设计师,很多工作都会涉及到原型设计。那么这两类设计师在设计原型的时候表现出了哪些的不同点呢?今天...

3538
来自专栏腾讯社交用户体验设计

教你爱的正确姿势-QQ红包520项目总结

793
来自专栏前端架构与工程

前端工程师的基本素养

阅读原文 闲来无事,今天随便聊聊前端工程师应该具备哪些素质,权当博大家一笑。 前端工程师到底是工作很简单的“切图仔”,还是包揽客户端和中间层的“大前端”?招聘市...

1777
来自专栏CSDN技术头条

苹果正在怎样毁掉设计之名

【编者按】Don Norman与Bruce “Tog” Tognazzini,在20世纪80年代初期两人分别担任各自项目的领导者,他们从所经历的项目中提取编纂的...

1889
来自专栏程序猿

Google将Swift编程语言纳入android平台

自从去年年末备受瞩目的 Swift 开源后,消息不断,最近互联网巨头们-Google、Facebook、Uber 齐聚伦敦,共同就 Swift ...

3087
来自专栏前沿技墅

一个前端工程师的基本修养

1693
来自专栏埋名

将HTML5缩写成h5究竟合不合理?

HTML5说起来很麻烦,因此业界很多前端、产品都讲html5简写成h5,包括许多大公司例如bat都是这样说。虽然现在互联网圈开口闭口就谈H5,

562
来自专栏小白客

比Ps更强大的Android版图片处理软件,完爆美图秀秀,你值得拥有

ToolWiz Photos 是一款超级强大的图片编辑APP: 除了基本的图片裁剪、亮度调整、光圈设定之外。还有马赛克、艺术特效、油画、手绘、胶片滤镜、调色、人...

3376
来自专栏腾讯社交用户体验设计

星咖闪动—闪咖品牌设计

1032

扫码关注云+社区