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

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

- Python 的使用量日益增高,相比下 R 有所下降。
- 程序员更倾向于在数据挖掘、分析、机器学习的领域使用 Python,统计专业等会倾向于 R。
- Python 在文档资源、社区等上更好,很多 R 的包 Python 也有,有一些互补,毕竟 Python 也能调用 R。
为什么需要 Go+
为什么是 Go+,Python 与 Go+ 的区别有什么区别,我们主要从下面几方面的背景和原因来分析。

- 数据科学的发展:未来数据科学将具备全领域、大数据、无处不在等特征,由 “副产品”上升为 “原材料”。
- 数据科学的地位变化:数据科学将基础设施化,由数学软件 (Application) 向基础设施(Infrastructure)演进。
- 数据科学是算力革命:是计算密集型的业务。Python 不会是数据科学的终局。
- Python 的缺陷:Python 的灵活性却导致 Python 有局限,Python 是脚本语言,无法承担算力密集型。Python 成不了基础设施。
未来的数据科学,必然是数学软件和通用语言的结合,所以 Go+ 来了!
Go+ 的下一步
七牛云正在寻找共建 Go+ 语言的开发者们,欢迎大家自荐/推荐,推荐成功有大奖,地域不限。
Go+ 语言的目标:
- 把 Go 带到数据科学领域,取代今天 Python 在数据科学领域中的位置。
- 希望 Go+ 能够成为更好的 Go。
若大家有兴趣参与,可以直接联系许式伟大佬聊聊。同时也非常欢迎大家针对 Go+ 提出建议和交流,邮箱:jobs@qiniu.com。
Go+ 快速使用
快速上手
Go+ 安装命令:
$ git clone git@github.com:goplus/gop.git$ cd gop && go install -v ./...
完毕后,可直接执行 gop 命令查看效果,其目前一共支持 7 个指令:
run Run a Go+ programgo Convert Go+ packages into Go packagesfmt Format Go+ packagesexport Export Go packages for Go+ programsrepl Play Go+ in consoleinstall Build go+ files and install target to GOBINbuild Build go+ files and execute go build command
创建一个 test.gop 文件,写入如下样例:
a := [1, 3, 5, 7, 11]b := [x*x for x <- a, x > 3]println(b)mapData := {"煎鱼": 1, "脑子进": 2, "Go+": 3}reversedMap := {v: k for k, v <- mapData}println(reversedMap)
输出结果:
$ gop run test.gop[25 49 121]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+ 将在数据科学领域正式崭露头角,让我们一起持续关注他!
大会议程如下:

