昨天
市面上有这么多语言为啥还需要开发Go这么个语言?
07年的一天,几位谷歌的大牛在讨论用C++开发一些有关庞大的分布式集群的工作,非常繁琐但很核心,很是闹心,后来听说C++又要添加35项新特性。大牛听了很是不爽啊,于是讨论能否可开发一款新的语言,运行快、编译快、开发还快。于是几位列举了新语言的主要特性,并且借鉴现有语言众家之所长。说干就干,09年go语言就诞生了。以下是当年列举的主要特性
规范的语法(不需要符号表来解析)
垃圾回收(独有)
无头文件
明确的依赖
无循环依赖
常量只能是数字
int和int32是两种类型
字母大小写设置可见性(letter case sets visibility)
任何类型(type)都有方法(不是类型)
没有子类型继承(不是子类)
包级别初始化以及明确的初始化顺序
文件被编译到一个包里
包package-level globals presented in any order
没有数值类型转换(常量起辅助作用)
接口隐式实现(没有“implement”声明)
嵌入(不会提升到超类)
方法按照函数声明(没有特别的位置要求)
方法即函数
接口只有方法(没有数据)
方法通过名字匹配(而非类型)
没有构造函数和析构函数
postincrement(如++i)是状态,不是表达式
没有preincrement(i++)和predecrement
赋值不是表达式
明确赋值和函数调用中的计算顺序(没有“sequence point”)
没有指针运算
内存一直以零值初始化
局部变量取值合法
方法中没有“this”
分段的堆栈
没有静态和其它类型的注释
没有模板
内建string、slice和map
数组边界检查
今天
目前已经开发的优秀的应用
- Docker 开源的应用容器引擎
- K8s Google 大规模容器管理技术Borg的开源版本,可以实现容器集群的自动化部署、缩容、维护等功能
- grafana 大规模指标数据可视化展示,网络架构和应用分析中最流行的时序数据展示工具
- etcd 高可用key-value数据库
- ...
明天
前景光明,个人看好
来源:oschina
链接:https://my.oschina.net/u/4364052/blog/4288726