Go 破圈:Go+ 带你快速了解数据科学领域

前段时间,Go 语言圈子内有一件事情特别的火,就是七牛云的许式伟带头基于 Go 语言,研发了一门新的语言 Go+,其面向的技术领域是数据科学领域

Go 破圈:Go  带你快速了解数据科学领域 - 图1

Go+ 所关注的赛道,是数据科学领域,主要的佼佼者是 Python 和 R 语言(近期还有新秀 Julia 语言):

Go 破圈:Go  带你快速了解数据科学领域 - 图2

  • Python 的使用量日益增高,相比下 R 有所下降。
  • 程序员更倾向于在数据挖掘、分析、机器学习的领域使用 Python,统计专业等会倾向于 R。
  • Python 在文档资源、社区等上更好,很多 R 的包 Python 也有,有一些互补,毕竟 Python 也能调用 R。

为什么需要 Go+

为什么是 Go+,Python 与 Go+ 的区别有什么区别,我们主要从下面几方面的背景和原因来分析。

Go 破圈:Go  带你快速了解数据科学领域 - 图3

  1. 数据科学的发展:未来数据科学将具备全领域、大数据、无处不在等特征,由 “副产品”上升为 “原材料”。
  2. 数据科学的地位变化:数据科学将基础设施化,由数学软件 (Application) 向基础设施(Infrastructure)演进。
  3. 数据科学是算力革命:是计算密集型的业务。Python 不会是数据科学的终局。
  4. Python 的缺陷:Python 的灵活性却导致 Python 有局限,Python 是脚本语言,无法承担算力密集型。Python 成不了基础设施。

未来的数据科学,必然是数学软件和通用语言的结合,所以 Go+ 来了

Go+ 的下一步

七牛云正在寻找共建 Go+ 语言的开发者们,欢迎大家自荐/推荐,推荐成功有大奖,地域不限。

Go+ 语言的目标:

  • 把 Go 带到数据科学领域,取代今天 Python 在数据科学领域中的位置。
  • 希望 Go+ 能够成为更好的 Go。

若大家有兴趣参与,可以直接联系许式伟大佬聊聊。同时也非常欢迎大家针对 Go+ 提出建议和交流,邮箱:jobs@qiniu.com。

Go+ 快速使用

快速上手

Go+ 安装命令:

  1. $ git clone git@github.com:goplus/gop.git
  2. $ cd gop && go install -v ./...

完毕后,可直接执行 gop 命令查看效果,其目前一共支持 7 个指令:

  1. run Run a Go+ program
  2. go Convert Go+ packages into Go packages
  3. fmt Format Go+ packages
  4. export Export Go packages for Go+ programs
  5. repl Play Go+ in console
  6. install Build go+ files and install target to GOBIN
  7. build Build go+ files and execute go build command

创建一个 test.gop 文件,写入如下样例:

  1. a := [1, 3, 5, 7, 11]
  2. b := [x*x for x <- a, x > 3]
  3. println(b)
  4. mapData := {"煎鱼": 1, "脑子进": 2, "Go+": 3}
  5. reversedMap := {v: k for k, v <- mapData}
  6. println(reversedMap)

输出结果:

  1. $ gop run test.gop
  2. [25 49 121]
  3. map[1:煎鱼 2:脑子进 3:Go+]

念想

2012 年 2 月:许式伟曾在公开场合分享 Go 会超过 C、Java,成为最流行的语言,讲的最多的 PPT 是 《Go,Next C》。

2021 年 3 月:在 9 年后的现在,Go 语言已经明确在世界上占有了明确的一席,中国也成为了第一大 Go 语言的应用主体,一二线大厂们均已跟进使用,招聘市场愈发火热。

许式伟当初的预言正在一步步走向正轨。

近距离接触

今年 04 月 10 日至 04 月 11 日,将会在上海举办 《ECUG Con 全球技术大会》,其中会涉及到 Go+ 与数据科学的相关内容,主题名为《数据科学与 Go+》。

Go 破圈:Go  带你快速了解数据科学领域 - 图4

基于 Go 语言的 Go+ 将在数据科学领域正式崭露头角,让我们一起持续关注他!

大会议程如下:

Go 破圈:Go  带你快速了解数据科学领域 - 图5