文章目录
Golang的诞生
- 计算机硬件技术更新频繁,性能提高很快。目前主流的编程语言发展明显落后于硬件,不能合理利用多核多CPU的优势提升软件系统性能。
- 软件系统复杂度越来越高,维护成本越来越高,目前缺乏一个足够简洁高效的编程语言。
- 企业运行维护很多c/c++的项目,C/C++程序运行速度虽然很快(因为采用静态编译),但是编译速度却很慢,同时还存在内存泄露的一系列困扰需要解决。
Golang的核心开发团队
- Ken Thompson(肯·汤普逊):1983年图灵奖、1998年美国国家技术奖得主,他与Dennis
- Ritchie是Unix系统的原创者。Thompson也发明了C语言、B语言,同时也是C语言的主要发明人。
- Rob Pike(罗布·派克): 加拿大人,曾是贝尔实验室的Unix团队和Plan 9操作计划的成员。他与Thompson公事多年,并共创出广泛使用的UTF-8字元编码。(ps:Go语言的图标-gopher 囊地鼠,是Rob Pike老婆制作的)
Golang里程碑
- 2007年,谷歌工程师Ken Thompson、Rob Pike、Robert Griesemer开始设计一门全新的语言,这是Go语言的最初原型
- 2009.11.10 ,Google将Go语言以开放源代码的形式向全球发布。
- 2015年8月19日 ,Go1.5版本发布,本次更新中移除了“最后残余的C代码”,请内存管理方面权威专家Rick
- Hudson对GC进行重新设计(重要的修正)
- 2017年2月16日 , Go1.8版本发布
- 2017年8月24日 , Go1.9版本发布
- 2018年2月16日 , Go1.10版本发布
- 2018年8月24日 , Go1.11版本发布
- 2019年2月25日 , Go1.12版本发布
- 2019年9月03日 , Go1.13版本发布
- 2020年2月25日 , Go1.14版本发布
- 2020年8月11日 , Go1.15版本发布
- 2021年2月16日 , Go1.16版本发布
Golang应用领域
- 区块链应用
- 区块链技术,简称BT(Blockchain technology),也被称为分布式账本技术,是一种互联网数据库技术,其特点是去中心化,公开透明,让每个人均可参与数据库记录。
- 后台服务器应用
- 美团后台流量支撑程序 支撑主站后台流量(排序,推荐,搜索等),提供负载均衡,cache,容错,按条件分流,统计运行指标(qps,latency)等功能
- 京东消息推送云服务/京东分布式文件系统 应用范围:后台所有服务全部用Go实现
- 云计算/云服务后台应用
- 盛大云CDN(内容分发网络)应用范围:CDN的调度系统、分发系统、监控系统、短域名服务,CDN内部开放平台、运营报表系统以及其他一些小工具等