00:00
下面我们来继续介绍一下go语言的一个诞生的小故事,对吧?啊嗯,我觉得咱们学语言呢,学一门语言还是应该简单的了解一下这个这个语言是怎么来的。因为你只有了解了这个语言是怎么来的,那么你才能知道这个语言可能会有什么样的特点,有什么样特性,而且呢,作为这个行业里面的人,有可能也会互相的调侃一下对不对,也会互相的调侃一下这构语言是怎么出来的,那么我觉得呢,这块咱们还是做一个介绍吧,那我们看看go语言诞生的小故事,给大家聊两句。啊,各语言诞生的小故事,聊两句,看这啊。Go语言的诞生。诞生小故事。那么小故事呢,我们给大家讲几个啊,讲几个人,比较重要的几位人物,重量级的人物,那么我们来做一个介绍,首先呢,我们看一下构语言的核心开发团队有哪些人,这个呢,还是要做一个基本介绍的,你别学了,这个构语言都不知道是哪些牛人设计出来的,对不对。
01:09
其中有一个人呢,大名鼎鼎的,叫king Thompson。Thompson这个人呢?他做了什么事情比较牛呢?首先第一个啊,这个大家有没有听过unix操作系统的。如果你听过unix操作系统的话,你就应该对这个人比较熟悉,因为unix最主要的设计者就是king Thompson。OK,这是第一个,他做的最牛的一件事情。还有一件事情。C语言我相信只要上过大学的同学都听说过,也许你没怎么学过对不对?但是你应该听过C语言,C语言的主要的发明人也是这个家伙。哎,也是个家伙,在1983年的时候呢,他拿到这个计算机这个行业里面最高奖叫图灵奖,八三年就拿到了,而且呢,九八年还拿到美国国家技术奖,注意啊,这些奖是属于世界级的,是一个很高的荣誉,而且这个家伙也是美国工程院的院士。
02:11
此外还有一件更牛的事情,2000年的时候,2000年这个这个哥们啊,不干了。2000年的时候,他他可能对这个编程有点感觉,有点厌烦了,是吧,2000年过后人家当飞行员去了。当了几年飞行员过后呢,接着又回来继续干程序,而且而且这个人呢,这个人很有意思。这个B语言,B语言也是他发明的。也就说C语言、B语言、go语言。他都是发明人最主要的核心的核核心的发明人,所以说你看。对别人来说,开发一个语言就跟就跟玩似的,对吧,我们学半天,我们学了好久还没学明白,对他来说,发明一个语言那就是刹那间的事情。而且这个人呢,我还真见过,他曾经到到过清华来做演讲啊,我远远的在那个清华大礼堂远远的看,看到这个哥们,而且这个家伙呢,胡子很长啊,说的特别好,我一句没听懂啊,全英文的。
03:12
那这个人呢,就很厉害,就是相当于也是我们的偶像了。呃,这个人是够语言的一个核心,核心的开发人员之一,另外呢,还有两位两枚大牛,一个是罗布派克,萝布派克呢,这这个我们简称罗拜拜。好罗,拜拜。拜拜啊。我拜拜。啊,这个班。就不管波波啊。罗伯伯罗伯伯这个人是干什么的呢?大家知道吗?这个人啊,也很有厉害,也很厉害啊,我就不写这了,罗伯伯,罗伯伯呢,他是贝尔实验室的,他也是参与过unix系统开发的主要的一个人员。另外呢,他跟这个汤普森是好朋友,他们其实是好朋友,经常喝酒吃饭,我估计啊,那大家一聊,诶,咱们搞一个购物员,诶大家就一起来搞这个事情,而且呢,UTF8这个编码也是它主要的。
04:11
主要的就是他来这个创造出来的,另外罗白白还有几几个事情比较厉害的,第一个呢,他是一个非常擅长。演讲的一个人,他曾经参参加过这个美国一个特别有名的脱口秀节目,还很受欢迎,另外呢,他还是一名运动健将啊,这个罗白白还是个运动健将,在这个1980年的时候,1980年奥运会。奥运会啊,那个时候我们都还小。他在这个奥运会。奥运会呢,奥运会会里面他拿了一个什么呢?他拿了一个这个射箭的银牌。他拿了个银牌。你想想。射箭,射箭运动啊射箭。射箭运动的银牌。
05:01
得主,也就是你要是个运动健将,此外,这个人还厉害,他还干什么呢?他还是一个天文学家。他天文学家,他做了一个什么东西出来呢?他设计了一个伽马的这个望远镜,差一点就被美国的航天局直接使用了,就是他还设及个望远镜,说这个人很厉害的啊,所以说你看他不但编程厉害,他在其他方面身体也好,而是天文学家,而且还擅长演讲,说这个人是多才多能的一个人啊,所以说。比较厉害,呃,手机面上人都有,另外还有一个人叫robot这个人,这个人呢也很厉害,嗯,谷歌的浏览器里面有个jascript引擎是他设计出来的,而且Java里面一个howport这个编译器也是他设计出来的啊,他协助设计出来的,但是这个人的图片呢,我找了半天没找到,所以说这就没有没有他的图片了,好吧,这个呢,大家知道就行了,有三个人啊,我们再整理一下,一个是king汤mpson。一个是罗布派克,罗布派克的老婆呢,还设计了这个就是银花鼠的这个吉祥物,另外呢,罗伯特也是里面的一个核心人员,好,所以说这些大牛呢,这这这这个相当于说。
06:13
Go语言的核心团队就这三位大牛。我们把它放在里面去啊,这第一个我们讲的是叫什么呢?就是go语言的,Go语言的这个核心核心开发团队。团队三枚,三枚大牛啊,三个大牛。好,我们把它放在笔记里面,来大家做一个了解,嗯。好,这是第一个,第二个呢,我们再来给大家介绍一下这个谷歌,它为什么要去创造这个构言呢?我们也现在简单的聊两句吧,不说多了啊,不说多了,第一个呢,就是。他们认为啊,谷歌呢,大家都知道,这在业内里面也是赫赫有名的非常厉害的世界级的公司,他们认为现在计算机的硬件技术更新很频繁,发展快,但是呢,软件就是我们的这个编程语言的发展落后于硬件,不能充分发挥多核多CPU的优势。
07:11
也就是说简单说这么一句话说什么呢?他们认为现在的编程语言。不能够充分发挥硬件的优势,就这么一个意思。他认为软件发展就是变成语言,没有办法。把这个我们的这个硬件的优势充分发挥出来,也就你看我们CPU。我们CPU每次它只能用到什么呢?用到那么一点,每次用到10%,20%,其实还有更高的这个,比如说我有多核,我有八个核,16个核,但是呢,不能充分发挥CPU的优势。明白我的意思吧,所以说他们想设计一款能够充分发挥这个硬件优势的编程语言,这是第一个,第一个它的这个初衷,第二个呢,他们还认为啊,软件系统越来越复杂了,因为现在现在软件的复杂度很高。就是软件越来越大了,说白了维护成本越高,现在呢,缺乏一个什么呢?缺乏一个足够简洁高效的编程语言,他认为啊,这是他认为的啊,他说这个编程语言不够足够高效。
08:13
那么他们认为是什么呢?他说现有的语言有什么缺点呢?我简单分析啊缺点,他认为现有的语言。现有的编程语言。编程语言。啊,有几个优几个劣势,第一个呢,就是编程不够优雅,就是那个风格,风格不统一。不统一。啊,就是你看有些人是这样写,有些人是那样写,他觉得这样不好,第二个呢,就是计算能力,他认为现有的这个计算能力。计算能力不行。能力不够。还有一个就是他认为还有一点啊,他认为现有的这个处理大并发不牛。不能处理大并发。大并发就促进大并发,不好不行。
09:01
不够好啊,不够好,它主要是基于这么几点。哦,当然当然了,这个这是他的一家之言嘛,他就认为,诶,我我想设计一个什么语言出来呢。就是风格。很统一,计算能力足够强,而且还能处处理一个大并发。诶,他想设计这么一种语言出来,而且这种语言呢,非常简洁啊,而且很高效,他想做这么一个东西。好,那么这是他。设计要去创造这个构语言的第二个初衷,第三一个呢。还有一点就什么呀,他认为现有的这个编程语言。要么有些语言速度快,但是呢速度快,速度快的语言呢。编译速度又很慢。而且还有一些。内存泄露的可能,比如像C语言,C语言和C加加语言,大家都知道它的速度是非常快的,但是呢,谷歌他认为。它的编译速度比较慢,而且呢还有内存泄露,他对这个语言呢速度快,但是呢有缺陷。
10:05
诶还有一些语言,你比如说像他认为像有些脚本语言。比较方便,比像Python呢,或者PP啊,他为这些语言呢,虽然开发效率比较高,但是呢,速度又不够快,所以他想找一种这样的语言,就说既兼顾这个。编译语言的这种速度又同时拥有。怎么呢,脚本语言的开发速度啊,他想有一个运行速度和开发速度都足够强的这么一个语言啊,基于这么几些原因啊,基于这么一些原因,那么他就。去创造这个构言,至少这是他官方的一种说法啊,就是他自己认为啊,我我去做这个构语言是因为这些原因啊,这些原因,那所以说从这个原因我们可以看出来,构言呢,他也要体现出这种风格了,他要把这些缺点呢,都给拿下啊,都给拿下好,这是它的一个。谷歌为什么要创造个语言的一个分析啊?
11:04
谷歌。谷歌创造。创造够难的。一个原因分析啊,原因。那么我们把这个原因呢放到这里。好元音给它搁这啊,给它搁这,放到我们的第三个标题。对吧,第三个标题。那么原因呢,刚才老师呢,也做了一个简单的分析啊,有这么三点。对吧,有什么三点,我把它放到这里来。好的。因为这不是源代码,所以说我直接把它放过来了啊。那么除此之外还有一个地方,同学们要了解一下,我们学这个go语言呢,它的一个简单的发展史,简单说一下啊,是零七年的时候,谷歌的三位工程师,就是刚才我们说的。派克Thompson和ROBERTSON3个人设计的全新的语言,是零七年就开始设计了,那到现在呢,各位看到将近有十多年了,对不对?诶,那么零九年的时候发布的第一个版本。
12:03
你们要知道,09年11月10号。呃,11月10号他发布的第一个版本,那么在一五年的时候呢,有一个1.5版,1.5这个版本呢,是一个里程碑式的版本,它在这里面呢,号称把这个残最后残余的C代码的一部一部分给拿掉了,因为他这个代码里面原先呢,有一部分代码是C的。就把它彻底的拿拿掉了,那么到了17年17年的时候呢,发布了1.8。11.8和1.9都发布了,到了一八年呢,也就是呃,也就是前几个月吧,对吧,不久他又发布了1.10这个版本。那有时候我们可以看到谷歌的这个go语言的这个更新的速度还是蛮快的,那说明什么呢?那说明构语言确实是发展势头比较猛的一个编程语言,所以说呢,我们现在呢,来学习它对不对,那对我们将来的发展也是非常不错的,那我告诉大家,我们在讲课的时候用哪个版本啊同学们,我们在讲课的时候,我我用的是1.92这个版本,1.9.2这个版本。
13:10
啊,那么我们没有用,没有用最新的原因,也是因为你这个一八年刚刚出来的版本,对吧,你马上去用呢,这个还他不是一个非常稳定的版本,那我们现在呢,讲1.9版也是目前各大公司用的比较多的啊,现在比较采用比较多的一个稳定版,那么我们就用的是1.9.2 1.9.2这个版本来做我们授课的这个版本,大家知道一下。好,所以说我把这个谷歌语言的发展历程这里叫做go难的发展。发展一个历程。我们也整理到笔记里面来。好,我们整理到笔记里面来啊,放这里面来,那发展历程呢,刚才老师也做了一个简单的介绍,好,我把它整个拿到我们笔记里面来就可以了。
14:01
好的。我把整体的来打一个箭头啊。这题大家检讨就行好,那么这几个流程大家要记住的是哪一点啊?第一个大家要知道是零九年发布的第一版,这个大家还是要有个印象的,不能说一点都不懂啊。第二个呢,我们要知道有一个里程式的版,里程式的版本是12015年的1.5,这个版本它是相当于说是一个。把最后残余的C代码拿掉了,这个时候这个go语言呢,已经就可以说是独树一帜了,然后呢,还要明白我们讲的这个版本是这个版啊,我们目前讲课用的是这个1.9这个版本的就OK了。这是给大家讲了一下我们go语言的一个诞生的小故事,诞生的小故事好,关于go语言诞生小故事呢,包括它的一个来龙去脉,包括它一个历史原因,我们也做了一个简单的介绍。
我来说两句