下个 10 年,Go 能取代 Python 成为开发者的首选语言吗?
选自 towardsdatascience
作者:Dasaradh S K
机器之心编译
机器之心编辑部
Go 为什么是 2020 年最受欢迎的语言?这篇文章也许能够给你答案。
30 年前,Python 首次出现,但它花了 20 年的时间才获得开发者们的赏识。直到 2019 年,Python 才成为最受开发者喜爱的第二大语言。Python 在过去,尤其是在过去 5 年中的增长是非常巨大的。如今它已成为机器学习和数据科学开发者的首选语言。
在接下来的几年中,Python 无疑还将继续在这些领域占据主导地位。但是,与一些新兴语言相比,它存在一些明显的缺点。对于未来十年的开发者来说,这可能是一个严重的障碍。
所以,有没有一种更好的编程语言来替代 Python 呢?就人工智能发展和数据科学而言,Go 语言或许会成为越来越多开发者的下一个首选语言。
Python 为何大受欢迎
Python 受欢迎最主要的原因是它的简单,容易学习。与其他语言相比,Python 的语法很简单,几个小时或者几天之内就可以掌握它的基础知识。
即使在学习其他语言(例如 C++、Java)之后,开发者通常还是更喜欢使用 Python。这是因为 Python 库几乎可以满足所有开发需求。
所以,库和简单的语法让使用 Python 进行开发既简单又高效,也让其成为适合初学者的语言。
Python 并不是完美的
虽然 Python 易于学习的特性使其广受欢迎,但它并不是完美的,在运行速度、C/C++ 使用和全局解释器锁三方面存在着一些问题。
速度
Python 是一种解释型语言,这也导致了它最大的问题——运行缓慢。与其他语言(例如 C++、Java)相比,Python 的运行速度非常慢。此外,Python 还是一种动态型语言。变量的数据类型在运行期间自动分配,这也使得运行速度大大降低。
使用 C/C++
为了改善 Python 运行速度缓慢的问题,Tensorflow、Numpy 和 Pandas 这些库都是部分用 C/C++ 编写的。这对 Python 速度的提升起到了非常大的作用。基本上,Python 需要借助其他语言来改善速度慢的问题。
全局解释器锁
Python 的全局解释器锁(GIL)一次只能运行一个线程,但这提升了单线程的性能。Python 的多线程实际上并没有同时运行多个线程。实际上,Python 无法执行真正的多线程。
为什么说 Go 语言将成为新兴语言呢?
Go 语言是一种开源编程语言,可轻松构建简单、可靠且高效的软件。
Go 语言在 2009 年首次亮相,是谷歌开发的一种通用型语言。与 Python 等其他编程语言相比,Go 语言具有多个优势,这也是它值得关注的地方。
速度快
Go 是静态型化和编译的语言,这意味着它的运行速度是 Python 的数倍。而与 Python 不同的是,Go 不需要借助其他语言就可以达到一个较快的速度。Go 几乎和 C++、Java 一样快,而且 Go 语言的代码编译速度比 C++ 和 Java 快得多。
易于学习
Go 的语法很简单,类似于 C 语言。所以,Go 语言同样很容易学习,如果学习者已经掌握 C 或者 Java 语言的基础知识,学起来就更简单了。
越来越受欢迎
Hackearth 对来自 76 个国家和地区的 16000 余名开发者进行调查的结果显示,Go 语言是 2020 年最受欢迎的编程语言。32% 的有经验开发者表示他们想学习 Go 语言。
与此同时,29% 的学生也表示想学习 Go 语言。
并发
并发是 Go 语言的主要优势之一。Go 使用 Goroutine 实现并发,Goroutine 是可以同时独立运行的函数。Goroutine 只占 2KB 内存,得益于这种轻量级,成千上万个 Goroutine 可以同时运行。
下面这篇文章深入介绍了 Go 语言的更多优势。
文章链接:https://medium.com/@kevalpatel2106/why-should-you-learn-go-f607681fad65
为什么说 Go 适用于 AI 研究?
实际上,Go 语言对于人工智能和数据科学研究本身来说并没有什么特别之处。那么为什么将其用于这些领域呢?
30 年前,尚且没有将 Python 用于构建机器学习和深度学习算法以进行数据可视化。Python 能够有现在的辉煌,是因为开发者和学生喜欢用这种语言编程,并且能够实现开发者的开发目的。
而 Go 语言旨在提升程序开发的生产力。和 Python 相比,它具备多个优点。Go 语言很有可能在未来几年中取代 Python,成为最受欢迎的语言。
因此,一言以蔽之:
未来十年,Go 语言比其他任何一种语言都更能支持开发者们的想法。
原文链接:https://towardsdatascience.com/golang-ai-programming-language-for-the-20s-71890baa8c47
从算法到应用,入门声纹技术。
10 月 19 日,第一讲:音频基础与声纹识别。谷歌资深软件工程师、声纹识别与语言识别团队负责人王泉老师将介绍声纹识别技术相关基础知识,包括发展历程、听觉感知和音频处理相关基本概念与方法、声纹领域最核心的应用声纹识别等。
添加机器之心小助手(syncedai5),备注「声纹」,进群一起看直播。
THE END
转载请联系本公众号获得授权
投稿或寻求报道:content@jiqizhixin.com