本文转载自微信公众号「脑子进煎鱼了」,作者陈煎鱼 。转载本文请联系脑子进煎鱼了公众号。
大家好,我是煎鱼。
前段时间,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+ program
- go Convert Go+ packages into Go packages
- fmt Format Go+ packages
- export Export Go packages for Go+ programs
- repl Play Go+ in console
- install Build go+ files and install target to GOBIN
- build 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+]