Go 语言发展简史 | 学习笔记

简介: 快速学习 Go 语言发展简史

开发者学堂课程【Go 语言核心编程 - 基础语法、数组、切片、Map: Go 语言发展简史】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/625/detail/9487


Go 语言发展简史

内容介绍:

一、Go 语言诞生小故事

二、Google 为什么要创造 Go 语言

三、Go 语言发展简史

 

一、Go 语言诞生小故事

1.Go 语言的核心开发团队

Ken Thompson(肯·汤普森)∶

1983 年图灵奖(Turing Award)和 1998 年美国国家技术奖(National Medal of Technology)得主。他与 Dennis Ritchie 是 Unix 的原创者。

Thompson 也发明了后来衍生出 C 语言的 B 程序语言,同时也是 C 语言的主要发明人。

Rob Pike(罗布·派克)∶

曾是贝尔实验室(Bell Labs)的 Unix 团队,和 Plan 9 操作系统计划的成员。他与 Thompson 共事多年,并共创出广泛使用的 UTF-8 字元编码。

Robert Griesemer∶ 曾协助制作 Java的HotSpot 编译器,和 Chrome 浏览器的 JavaScript 引擎 V8。

2.Google 为什么要创造 Go 语言

1)计算机硬件技术更新频繁,性能提高很快。目前主流的编程语言发展明显落后干硬件,不能合理利用多核多 CPU 的优势提升软件系统性能。

2)软件系统复杂度越来越高,维护成本越来越高,目前缺乏一个足够简洁高效的编程语言。

3)企业运行维护很多 c/c++ 的项目,c/c++ 程序运行速度虽然很快,但是编译速度确很

慢,同时还存在内存泄漏的一系列的困扰需要解决。

3、Go 语言发展简史

2007 年,谷歌工程师 Rob Pike,Ken Thompson 和 Robert Griesemer 开始设计一门全新的语言,这是 Go 语言的最初原型。

>2009 年 11 月 10 日,Google 将 Go 语言以开放源代码的方式向全球发布。

> 2015 年 8 月 19 日,Go 1.5 版发布,本次更新中移除了"最后残余的 C 代码"

2017 年 2 月 17 日,Go 语言 Go 1.8 版发布。> 2017 年 8 月 24 日,Go 语言 Go 1.9 版发布。> 2018 年 2 月 16 日,Go 语言 Go 1.10 版发布。

相关文章
|
3小时前
|
监控 算法 Go
Golang深入浅出之-Go语言中的服务熔断、降级与限流策略
【5月更文挑战第4天】本文探讨了分布式系统中保障稳定性的重要策略:服务熔断、降级和限流。服务熔断通过快速失败和暂停故障服务调用来保护系统;服务降级在压力大时提供有限功能以保持整体可用性;限流控制访问频率,防止过载。文中列举了常见问题、解决方案,并提供了Go语言实现示例。合理应用这些策略能增强系统韧性和可用性。
43 0
|
3小时前
|
数据采集 人工智能 搜索推荐
快速入门:利用Go语言下载Amazon商品信息的步骤详解
本文探讨了使用Go语言和代理IP技术构建高效Amazon商品信息爬虫的方法。Go语言因其简洁语法、快速编译、并发支持和丰富标准库成为理想的爬虫开发语言。文章介绍了电商网站的发展趋势,如个性化推荐、移动端优化和跨境电商。步骤包括设置代理IP、编写爬虫代码和实现多线程采集。提供的Go代码示例展示了如何配置代理、发送请求及使用goroutine进行多线程采集。注意需根据实际情况调整代理服务和商品URL。
快速入门:利用Go语言下载Amazon商品信息的步骤详解
|
3小时前
|
存储 编译器 Go
Go语言学习12-数据的使用
【5月更文挑战第5天】本篇 Huazie 向大家介绍 Go 语言数据的使用,包含赋值语句、常量与变量、可比性与有序性
40 6
Go语言学习12-数据的使用
|
3小时前
|
Java Go
一文带你速通go语言指针
Go语言指针入门指南:简述指针用于提升效率,通过地址操作变量。文章作者sharkChili是Java/CSDN专家,维护Java Guide项目。文中介绍指针声明、取值,展示如何通过指针修改变量值及在函数中的应用。通过实例解析如何使用指针优化函数,以实现对原变量的直接修改。作者还邀请读者加入交流群深入探讨,并鼓励关注其公众号“写代码的SharkChili”。
14 0
|
3小时前
|
存储 缓存 Java
来聊聊go语言的hashMap
本文介绍了Go语言中的`map`与Java的不同设计思想。作者`sharkChili`是一名Java和Go开发者,同时也是CSDN博客专家及JavaGuide项目的维护者。文章探讨了Go语言`map`的数据结构,包括`count`、`buckets指针`和`bmap`,解释了键值对的存储方式,如何利用内存对齐优化空间使用,并展示了`map`的初始化、插入键值对以及查找数据的源码过程。此外,作者还分享了如何通过汇编查看`map`操作,并鼓励读者深入研究Go的哈希冲突解决和源码。最后,作者提供了一个交流群,供读者讨论相关话题。
16 0
|
3小时前
|
Java Go
Go语言学习11-数据初始化
【5月更文挑战第3天】本篇带大家通过内建函数 new 和 make 了解Go语言的数据初始化过程
19 1
Go语言学习11-数据初始化
|
3小时前
|
自然语言处理 安全 Java
速通Go语言编译过程
Go语言编译过程详解:从词法分析(生成token)到句法分析(构建语法树),再到语义分析(类型检查、推断、匹配及函数内联)、生成中间码(SSA)和汇编码。最后,通过链接生成可执行文件。作者sharkchili,CSDN Java博客专家,分享技术细节,邀请读者加入交流群。
24 2
|
3小时前
|
Java Linux Go
一文带你速通Go语言基础语法
本文是关于Go语言的入门介绍,作者因其简洁高效的特性对Go语言情有独钟。文章首先概述了Go语言的优势,包括快速上手、并发编程简单、设计简洁且功能强大,以及丰富的标准库。接着,文章通过示例展示了如何编写和运行Go代码,包括声明包、导入包和输出语句。此外,还介绍了Go的语法基础,如变量类型(数字、字符串、布尔和复数)、变量赋值、类型转换和默认值。文章还涉及条件分支(if和switch)和循环结构(for)。最后,简要提到了Go函数的定义和多返回值特性,以及一些常见的Go命令。作者计划在后续文章中进一步探讨Go语言的其他方面。
13 0
|
3小时前
|
JavaScript 前端开发 Go
Go语言的入门学习
【4月更文挑战第7天】Go语言,通常称为Golang,是由Google设计并开发的一种编程语言,它于2009年公开发布。Go的设计团队主要包括Robert Griesemer、Rob Pike和Ken Thompson,这三位都是计算机科学和软件工程领域的杰出人物。
15 1
|
3小时前
|
Go