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

Go语言精选

共 2636字,需浏览 6分钟

 ·

2021-10-25 21:53

AI 和数据科学领域,一直是 Python 的天下。国内七牛云搞了一个 Go+,想要进入数据科学领域。有人认为,Go 可能会在 AI 和数据科学领域占据一席之地。看看他怎么说的。


30 年前,Python 诞生。但是花了 20 年时间才能获得开发人员的赞赏。快进到 2019 年,它成为开发人员中第二受欢迎的语言,就在最近(2021 年 10 月)它超越了 C 成为第一(TIOBE)。

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

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

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

01 Python 受欢迎的原因

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

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

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

02 Python 问题

速度

Python 是一种解释型语言,这引起 Python 的最大问题 —— 执行慢。与其他编译语言(例如 C++ 和 Go)相比,Python 的执行速度很慢,非常慢。

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

使用 C/C++

为了克服 Python 执行慢的问题,Tensorflow,Numpy 和 Pandas 之类的库部分用 C 或 C++编写。它们有助于显着提高执行速度。

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

全局解释器锁(GIL)

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

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

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

03 为什么要使用 Go 语言?

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

“ Go”在 10 来年前首次亮相。它是 Google 开发的通用语言。

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

快速

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

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

简单易学

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

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

越来越受欢迎

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

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


并发

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

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

Go 还有很多其他优点。查阅 Keval Patel 的这篇深入文章。《为什么要学习 Go?“ Go 将成为未来的服务器语言”》:https://medium.com/@kevalpatel2106/why-should-you-learn-go-f607681fad65

04 是什么使 Go 适用于 AI 开发

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

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

之所以是今天,是因为开发人员和学生们喜欢用 Python 进行代码编写,并且支持开发该开发人员意图的语言。

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

因此,它可以归结为一句话:

Go 可以支持“ 21 世纪 20 年代的开发人员”发展他们的思想,这比任何其他语言都要好得多。

你认可吗?欢迎留言交流!

原文链接:https://towardsdatascience.com/golang-ai-programming-language-for-the-20s-71890baa8c47

参考资料

[1]

这: https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/go-python3.html

[2]

Go 之旅: https://tour.golang.org/list

[3]

文档: https://golang.org/doc/

[4]

此次: https://www.hackerearth.com/recruit/developer-survey/




推荐阅读


福利

我为大家整理了一份从入门到进阶的Go学习资料礼包,包含学习建议:入门看什么,进阶看什么。关注公众号 「polarisxu」,回复 ebook 获取;还可以回复「进群」,和数万 Gopher 交流学习。

浏览 40
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报