展开查看详情
1.Go+ 演进之路 姜 智@七牛云
2. 大纲 • Go+ 发展历程 • Go+ 特性 • Go+ 实现解析
3.Go+ 意外走红
4.Go+ 意外走红
5.Worldwide Go+
6.Worldwide Go+
7.Worldwide Go+
8.Worldwide Go+
9.Why Go+ • 正面:为什么这么多牛人会关注 Go+? • 反面:好像很难搞的样子,为什么要干? • 反面: Python 这么强,怎么打得过?
10.Data Science 的发展 • 从前 • Limited Domains (有限领域): 比如 BI (Business Intelligence) • Limited Data (有限数据规模): 比如 Excel、Matlab • 未来 • Full Domains (全领域): 智能应用 (Intelligent Application) • 典型代表:抖音、快手 • Big Data (大规模数据) • Any Where (随处): 云 (Cloud)、智能手机 (Small Phone)、嵌 入式设备 (IoT)
11.信息科技发展的自然结果 • 应用极大化地丰富(充分竞争) • 差异化竞争让应用越来越“聪明”- Intelligent Application • 数字化信息(数据)极大化地产生
12.这就是 DT 时代 • IT => DT • 数据地位的变化 • Businesses Intelligence => Intelligent Application • 数据是副产品 => 数据是原材料(石油),无处不在,深植 于业务流 • Data Science 的地位变化 • 这意味着,Data Science 将基础设施化 • 数学软件 (Application) => 基础设施 (Infrastructure)
13.数据科学领域 技术栈
14.变化难度 • 经典的汉诺塔问题 (假设只改变一个依赖) • f(n) = 2*f(n-1) + 1 • f(1) = 1 • 改变技术依赖栈是极其困难的
15.数据科学的汉诺塔第一层迁移 • 数学软件 Python 化 • 数学软件的平民化(与脚本语言结合) • 汉诺塔定则:只能一层层迁移 • 技术栈迁移的步子迈得越大,越不可完成!
16.技术依赖栈
17.Python 不会是 Data Science 的终局 • 因为,Python 成不了基础设施(Infrastructure)。 • Data Science 本质上是算力革命,是计算密集型的业务。 • Data Science 进一步下沉,终局会是什么?
18.Go+ for Data Science • 终局是:数学软件与通用语言的融合 • 完成 Data Science 基础设施化 • 所以 Go+ 来了!
19.汉诺塔的再一次迁移
20. 大纲 • Go+ 发展历程 • Go+ 特性 • Go+ 实现解析
21. Go+ 特性 • 静态语言 • 与Go完全兼容 • 语法简洁(for data science)
22.Go+ 与 Go的互操作 • Go+ 将支持所有Go的feature(已经支持 基本语法,流程控制、结 构体方法、defer,goroutine, channel等) • 所有Go package均可以被Go+ import • 所有Go+的package均可以被convert成Go package,并被Go来import
23.Go+ 双引擎 • Bytecode backend • Go code generation
24.Go+ 示例
25.运行方式 • Bytecode backend • Go code generation
26. Go+ 相关 • Repl • Go+ playground • Go+ vscode plugin
27. Go+ 特有语法 • 有理数 • Map • Slice
28. Go+ 特有语法 • List/map comprehension • For range
29. Go+ 特有语法 Error handling