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

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

20世纪20年代的人工智能和数据科学编程语言 Go

发表于:2020-10-12 作者:闻数起舞 来源:今日头条

意见 Golang可能很快会取代Python

20世纪20年代的人工智能和数据科学编程语言 Go

30年前,Python首次出现。 但是花了20年时间才能获得开发人员的赞赏。 快进到2019年,它成为开发人员中第二受欢迎的语言。¹

过去,尤其是在过去的5年中,它的增长非常大。 Python成为机器学习和数据科学开发人员的首选语言。

在接下来的几年中,Python在这些领域的主导地位无疑将是巨大的。 但是与更新的语言相比,它具有一些严重的缺点。 对于20年代的开发者来说,这可能是一个障碍。

现在是检查Python问题并将其替换为更好的替代方法的正确时机。 就AI开发和数据科学而言,我们的下一个入门语言可能是Golang。

Python受欢迎的原因

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

即使在学习了其他语言(例如C ++或Java)之后,开发人员通常还是更喜欢使用Python。 那是因为有一个python库,几乎可以满足所有人的要求。

库和简单的语法使使用Python开发软件既简单又高效。 这些优势使Python成为了初学者的语言。

Python问题

速度

Python是一种解释型语言,它会导致Python最大的问题-执行缓慢。 与其他编译语言(例如C ++和Go)相比,Python的执行速度很慢,非常慢。

Python是一种动态类型化的语言。 变量的数据类型在运行时自动分配。 这使执行速度大大降低。

使用C / C ++

为了克服Python的慢度库,例如Tensorflow,Numpy和Pandas都是用C或C ++编写的。 它们有助于显着提高执行速度。

基本上,Python需要其他语言的帮助才能克服其问题。

全局解释锁

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

实际上,Python无法执行真正的多线程。

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

为什么要使用Go语言?

Go是一种开放源代码编程语言,可轻松构建简单,可靠且高效的软件。

Golang或简称" Go"于10年前首次出现。 它是Google在通用语言下开发的。

与Python和其他编程语言相比,它具有多个优势,这就是我们感兴趣的原因。

快速

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

这是Go和Python之间的一个小型基准游戏比较。 Go几乎与C ++和Java一样快。 而且,Go的代码编译速度比C ++和Java快得多。

简单易学

Go的语法很简单,类似于C。这是一种易于学习的编程语言,特别是如果有人已经了解C或Java语言的基础知识的话。

要了解Go的基础知识,请访问Go之旅进行交互式之旅或访问官方文档。

越来越受欢迎

根据Hackearth对来自76个国家/地区的16,000多名开发人员的调查,Go是2020年最受欢迎的编程语言。

32%的经验丰富的开发人员和29%的学生说他们想学习Go不足为奇。

20世纪20年代的人工智能和数据科学编程语言 Go
20世纪20年代的人工智能和数据科学编程语言 Go

并发

并发是Go的主要优势之一。 Go具有Goroutines³以实现并发。 Goroutines是可以同时独立运行的函数。

Goroutine重量轻,仅占用2 kB的内存。 由于Goroutine轻巧,因此可以同时运行数千个。

Go还有很多其他优点。 查看Keval Patel撰写的这篇深入文章。

为什么要学习Go?

" Go将成为未来的服务器语言。" — TobiasLütke,Shopify

是什么使Go适用于AI研究

将Go专门用于AI研究或数据科学并没有什么特别的。 为什么应将Go用于AI和数据科学? 我会告诉你的……但是等一下,

30年前,尚未开发Python来构建机器学习或深度学习算法或进行数据可视化。

之所以如此,是因为开发人员和学生喜欢用Python进行编码,并且喜欢使用语言来开发开发人员想要的内容。

Go旨在提高程序员的生产力。 与Python相比,它具有多个优点。 它可以轻松地在未来几年中取代Python成为最受欢迎和最受欢迎的语言。

因此,它可以归结为1行,

Go可以支持" 20世纪20年代的开发者"发展他们的想法,远胜于其他任何语言。