专为人工智能和数据科学而生的Go语言,或将取代Python
时间回到30年前,Python 首次亮相。花了20年时间,Python才获得开发者的认可。来到 2019 年,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语言。
4.并发
并发性是Go的主要优势之一。Go通过Goroutines来实现并发,Goroutine是可以同时独立运行的函数。
Goroutine是只占用2kb的内存的轻量级函数,可以同时运行数千个Goroutine。
是什么让Go语言更适合人工智能研究?
在人工智能研究或数据科学中使用Go好像并没有什么特别之处。
那么,为什么Go更适合用于人工智能和数据科学?
在30年前,Python被开发出来的初始目的不是为了构建机器学习或深度学习算法,也不是为了使数据可视化。
发展到今天,之所以会如此,是因为开发人员和学生都喜欢用Python来进行编写代码,并使用理解开发人员意图和更加方便的语言。
Go的目的是提高程序员的工作效率。Python几大缺点,在Go中,我们都看不到。因此,在接下来的几年里,Go很有可能非常容易就能取代Python成为很受欢迎和很流行的语言。