编程语言影响编程思维。切换一门新的编程语言,最重要的是习惯它的编程思维。
编程语言思维的形成:
价值观 -> 思维 + 架构 + 行为
- 价值观决定思维和语言结构
- 思维和语言结构异性相应语言的应用行为
- 语言的应用行为反过来持续影响/优化语言结构
Go语言编程价值观的形成受到语言设计者的影响。
Unix 文化
CSP
面向新的基础实施环境和大规模软件开发的诸多问题
新的基础实施环境:
大规模云计算数据中心
多核以及多处理器硬件体系
Go语言的价值观:
整体简洁
正交构图
并发优先
具有并发优先级的简单概念的正交组成。
并发
并发不是并行,并发不是关于性能的。
并发是关于程序员结构的。
对于程序结构来说,concurrency 是一个比 interface 组合更大的概念。
concurrency 是一种在程序执行层面上的组合:goroutines 各自执行特定的工作,通过 channels + select 将 gorountines 连接起来
适应现代计算环境
鼓励独立计算的分解
从某种意义上说, Go语言就是关于 nconcurrency 和 interface 的设计。
gorountines + select + channels = 并发偏好
组件化设计:
自顶向下
逐层结构
独立模块
解耦
可替换
最简化的好处
易设计
易实现
易测试
易维护
易复用
领取专属 10元无门槛券
私享最新 技术干货