Go 编程语言,有时被称为 Google 的 golang,其受欢迎程度正在强劲增长。虽然 Java 和 C 等语言继续在编程领域占据主导地位,但新的模型已经涌现,它们更适合现代计算,尤其是在云端。Go 语言使用率的提高部分归因于它是一种轻量级的开源语言,适合当今的微服务架构。容器宠儿 Docker 和 Google 的容器编排产品 Kubernetes 都是使用 Go 构建的。Go 语言在数据科学领域也越来越受欢迎,其优势正是数据科学家在整体性能以及从“分析师的笔记本电脑到全面生产”的能力方面所寻求的。
作为一种工程化的语言(而不是随着时间推移演变而来的语言),Go 语言在多个方面使开发人员受益,包括垃圾回收、原生并发以及许多其他原生功能,这些功能减少了开发人员编写代码来处理内存泄漏或联网应用的需求。Go 语言还提供了许多其他功能,非常适合微服务架构和数据科学。
正因为如此,Go 语言正在被有趣的公司和项目采用。最近,Tensorflow 的 API 已经添加,并且像 Pachyderm(下一代数据处理、版本控制和存储)这样的产品正在使用 Go 构建。Heroku 的 Force.com 和 Cloud Foundry 的一部分也是用 Go 编写的。越来越多的名字正在定期添加。
日益普及和使用
在 2017 年 9 月的 TIOBE Go 语言指数中,您可以清楚地看到 Go 语言自 2016 年以来人气的惊人飞跃,包括被评为 TIOBE 2016 年度编程语言名人堂获奖者,成为年度评分涨幅最高的编程语言。目前,它在月度列表中排名第 17 位,高于一年前的第 19 位,高于两年前的第 65 位。

opensource.com
Stack Overflow 2017 年调查也显示了 Go 语言普及程度上升的迹象。Stack Overflow 对 64,000 名开发人员进行的全面调查试图通过询问“最喜爱、最害怕和最想要的语言”来了解开发人员的偏好。该列表主要由较新的语言主导,如 Mozilla 的 Rust、Smalltalk、Typescript、Apple 的 Swift 和 Google 的 Go。但连续第三年,Rust、Swift 和 Go 跻身“最喜爱”编程语言的前五名。

opensource.com
Go 语言的优势
一些编程语言是随着时间的推移拼凑而成的,而另一些则是在学术界创建的。还有一些是在不同的计算时代设计的,面临着不同的问题、硬件和需求。Go 是一种显式工程化的语言,旨在解决现有语言和工具的问题,同时原生利用现代硬件架构。它的设计不仅考虑了开发团队,还考虑了长期可维护性。
Go 语言的核心是务实的。在真实的 IT 世界中,复杂的大型软件是由大型开发团队编写的。这些开发人员通常具有不同的技能水平,从初级到高级。Go 语言很容易上手,适合初级开发人员工作。
此外,拥有一种鼓励可读性和理解性的语言非常有用。鸭子类型(通过接口)和诸如“:=”之类的简便功能(用于简短的变量声明)的混合,使 Go 语言具有动态类型语言的感觉,同时保留了强类型语言的优点。
Go 语言的原生垃圾回收功能消除了开发人员进行自己的内存管理的需求,这有助于消除两个常见问题
- 首先,许多程序员已经期望内存管理将为他们完成。
- 其次,内存管理需要针对不同的处理核心采用不同的例程。手动尝试考虑每种配置可能会大大增加引入内存泄漏的风险。
Go 语言的原生并发对于依赖并发性生存的网络应用程序来说是一个福音。从 API 到 Web 服务器再到 Web 应用程序框架,Go 项目往往专注于联网、分布式功能和/或服务,而 Go 的 goroutine 和通道非常适合这些领域。
适合数据科学
从大型数据集中提取业务价值正迅速成为公司的竞争优势,并且是编程领域非常活跃的领域,涵盖人工智能、机器学习等专业领域。Go 语言在这些数据科学领域具有多项优势,这正在增加其使用率和普及程度。
- 卓越的错误处理和更轻松的调试正在帮助它比 Python 和 R 更受欢迎,Python 和 R 是两种最常用的数据科学语言。
- 数据科学家通常不是程序员。Go 语言有助于原型设计和生产,因此最终成为将数据科学解决方案投入生产的更强大的语言。
- 性能非常出色,这在海量数据爆炸式增长和 GPU 数据库兴起的背景下至关重要。Go 语言不必调用基于 C/C++ 的优化来获得性能提升,但它允许您这样做。
Go 语言扩展的种子
软件交付和部署发生了巨大的变化。微服务架构已成为释放应用程序敏捷性的关键。现代应用程序被设计为云原生的,并利用云平台提供的松耦合云服务。
Go 是一种显式工程化的编程语言,专门为满足这些新需求而设计。Go 语言专为云而编写,由于其对并发操作的精通以及其构造的美观性,其普及程度不断提高。
不仅 Google 支持 Go 语言,其他公司也在帮助市场扩张。例如,Go 代码通过企业级发行版(如 ActiveState 的 ActiveGo)获得支持和扩展。作为一个开源运动,golang.org 网站和年度 GopherCon 会议构成了强大而现代的开源社区的基础,该社区允许将新想法和新活力带入 Go 语言的开发过程。
15 条评论