您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 开发技术 > 正文

专为人工智能和数据科学而生的Go语言,或将取代Python

发表于:2020-10-15 作者:为AI呐喊 来源:今日头条

时间回到30年前,Python 首次亮相。花了20年时间,Python才获得开发者的认可。来到 2019 年,Python已经成为开发人员第二喜欢的语言。

专为人工智能和数据科学而生的Go语言,或将取代Python

在过去的5年时间里,Python 成为了机器学习和数据科学开发人员的首选编程语言。

可以预见的是,在未来几年内,Python在这些领域依然占据主导地位。但与较新的语言相比,它有一些严重的缺点,这对2020年的开发者来说可能是个障碍。

现在正是研究Python问题并用更好的替代方案取代它的时候。在人工智能开发和数据科学方面,我们的下一个语言可能是 Golang。

Python 流行的原因

Python 之所以受欢迎,主要原因是它简单易学。与其他语言相比,它的语法很简单,任何人都可以在几个小时或几天内学会 Python 的基础知识。

即使在学习了其他语言(如C++或Java)之后,开发人员也往往更喜欢使用Python。这是因为几乎所有的开发需求,都有对应的Python库来帮我们解决问题。

庞大且功能齐全的Python库和简单的语法使 Python 中的软件开发变得简单而高效。这些优势使Python成为初学者的首选语言。

Python存在的问题

1.速度

Python是一种解释性语言,这导致了Python很大的问题 -- 执行缓慢。与其他编译语言(如C++和GO)相比,Python的执行速度非常慢。

Python是一种动态类型语言。变量的数据类型在运行时自动分配,这就会让执行速度变慢很多。

2.C/C++的使用

为了克服Python的运行慢的难题,Tensorflow、Numpy和Pandas等库都是用C或C++编写的,有助于显著提高Python执行速度。

简而言之,Python需要借助其他语言来克服它的运行速度过慢的难题。

3.全局解释器锁

Python的全局解释器锁(GIL)一次只允许一个线程执行,同时提高了单线程性能。Python的多线程实际上并没有真正的同时运行多个线程。

(注意:Python的非CPython实现,比如Jython和IronPython没有GIL)

为什么是Go语言?

Go是一种开源编程语言,它的出现,让开发人员构建简单、可靠和高效的软件变得更加容易。

Go作为谷歌开发的一种通用语言,在10年前首次亮相。

相比Python及其他编程语言,Go有以下几大优点:

1.运行速度快

Go是静态类型和编译语言。这意味着执行速度将比Python快几倍。与Python不同,Go不需要其他语言的帮助来提高运行速度。

2.简单易学

Go的语法很简单,与C语言相似。它是一种特别容易学习的编程语言,特别是如果你已经掌握了C或Java语言的基础知识。

3.越来越受欢迎

根据hackerth对来自76个国家的16000多名开发者的调查,Go是2020年很受欢迎的编程语言。

此外,还有32%有经验的开发人员和29%的学生想学习Go语言。

专为人工智能和数据科学而生的Go语言,或将取代Python

4.并发

并发性是Go的主要优势之一。Go通过Goroutines来实现并发,Goroutine是可以同时独立运行的函数。

Goroutine是只占用2kb的内存的轻量级函数,可以同时运行数千个Goroutine。

是什么让Go语言更适合人工智能研究?

在人工智能研究或数据科学中使用Go好像并没有什么特别之处。

那么,为什么Go更适合用于人工智能和数据科学?

在30年前,Python被开发出来的初始目的不是为了构建机器学习或深度学习算法,也不是为了使数据可视化。

发展到今天,之所以会如此,是因为开发人员和学生都喜欢用Python来进行编写代码,并使用理解开发人员意图和更加方便的语言。

Go的目的是提高程序员的工作效率。Python几大缺点,在Go中,我们都看不到。因此,在接下来的几年里,Go很有可能非常容易就能取代Python成为很受欢迎和很流行的语言。

所以,可以总结为一点:

Go语言可以支持“20多岁的开发人员”更好地理解他们的想法,以及帮助他们更好、更快地开发程序。