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

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

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

 

[[346409]]

 

在过去的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多岁的开发人员”更好地理解他们的想法,以及帮助他们更好、更快地开发程序。

责任编辑:华轩 来源: 今日头条
相关推荐

2019-01-08 10:26:19

人工智能 Python技术

2023-08-16 14:20:26

人工智能AI

2020-10-12 08:17:53

编程语言GoPython

2017-12-18 10:50:14

数据科学家人工智能自动化

2017-03-31 09:09:20

人工智能工作岗位人类

2017-06-19 10:07:55

DynamIQ技术处理器

2021-02-06 23:08:03

人工智能数据安全

2023-08-18 10:24:07

人工智能AI

2017-02-13 12:54:00

大数据人工智能技术

2024-01-25 14:30:08

人工智能

2023-05-19 16:45:15

人工智能AI

2023-09-01 14:20:33

2023-01-06 12:55:58

人工智能数据科学

2022-01-17 14:13:17

人工智能AI深度学习

2024-02-26 11:31:33

人工智能数据中心

2022-03-25 09:00:00

人工智能工作失业

2021-07-28 13:29:44

人工智能指令技术

2017-07-20 17:08:45

2017-05-04 20:45:07

人工智能数据科学机器学习

2020-06-22 17:22:39

数据策略人工智能AI
点赞
收藏

51CTO技术栈公众号