谷歌为什么要发明GO编程语言

Python019

谷歌为什么要发明GO编程语言,第1张

Go语言是谷歌2009发布的编程语言,这个语言发明的目的,就是为了在运行速度接近C/C++语言的基础上(注意是接近),降低开发者的门槛,减少开发难度。Go语言,在功能上没有超过C/C++,适用者为没有C/C++经验的开发者,开发出接近C效率的程序。对于已经熟练掌握C/C++的开发者来说,Go语言没有优势,还要重学语法,适应开发环境,明显是不符合效率的。

《Go语言实战》(威廉·肯尼迪 (William Kennedy))电子书网盘下载免费在线阅读

链接:https://pan.baidu.com/s/1mNt2bRjwacBu3C5YNe-dOQ

提取码:1234

书名:Go语言实战

作者:威廉·肯尼迪 (William Kennedy)

译者:李兆海

豆瓣评分:7.7

出版社:人民邮电出版社

出版年份:2017-3-1

页数:224

内容简介:

Go语言结合了底层系统语言的能力以及现代语言的高级特性,旨在降低构建简单、可靠、高效软件的门槛。本书向读者提供一个专注、全面且符合语言习惯的视角。Go语言实战同时关注语言的规范和实现,涉及的内容包括语法、类型系统、并发、管道、测试,以及其他一些主题。

作者简介:

William Kennedy,是一位熟练的软件开发者,也是博客GoingGo.Net的作者。

Brian Ketelsen和Erik St. Martin是全球Go语言大会GopherCon的组织者,也是Go语言框架Skynet的联合作者。

李兆海,多年专注于后端分布式网络服务开发,曾使用过多个流行后端技术和相关架构实践,是Go语言和Docker的早期使用者和推广者,《第1本Docker书》的译者。作为项目技术负责人,成功开发了百万用户级直播系统。

每种语言都有自己的侧重点,如果可以的话建议题主还是分开学,循序渐进,如果学习同时学习三种语言,容易记混不说,反而容易导致学习进度停滞不前。

知了姐就来跟大家详细说说java,python,go三种语言之间的区别,仅供题主参考~

01 Python

难度:★

欢迎度:★★★★☆

创始于:1991年

**学完之后可以干什么:**web开发、应用开发、大数据、数据挖掘、科学计算、机器学习、人工智能、运维、自然语言处理等等等。

Python的优点:

• 易于学习:就像论坛里有些人说的,做了几年Java或者是C++的,几天就可以写Python了。但是这个不是什么坏事,入门来说,从简入难,或者从难入简,都是很好的选择。

• 库:库都是免费的,并且有很多库和函数把编程变得相对容易很多。

• 物联网:Python也许是会成为物联网当中最受欢迎的语言,我们都知道树莓派这样的新平台都是基于Python开发的。

Python的缺点:

速度:开发速度是快,比如java100行代码python20行就搞定了。但是作为解释型的语言来说,比编译型语言的速度慢很多。

• 移动端:Python在移动计算方面是弱的,很少有智能机的应用是Python开发的

• 设计:python是动态型的语言,需要更多的测试以及错误仅仅是在运行的时候展示的。

02 JAVA

难度:★ ★ ★

欢迎度:★ ★ ★ ★ ★

创始于:1995年

Java可以做什么:**安卓和IOS的应用开发、视频游戏开发、桌面GUI、软件开发等等;

Java是老牌语言,但是由于市场上相关开发人才较多,竞争激烈,薪资趋于平稳。

Java的优点:

• Java开发人员需求量大:这个是根据统计得出的。JAVA在很多语言当中,是需求量最大的;

• 进化语言:首先C++是基于C语言优化的,Java是被优化过来的。而且在这人平台是增加了很多的功能,lambda等功能

• 安卓应用开发:谷歌的安卓移动平台是世界第一的移动平台,编写安卓应用开发者使用的主要语言是Java;

Java的缺点:

• 使用大量的内存:Java和C++相比使用更多的内存所以占用的内存就更大

• 学习曲线:这边指的是Java虽然不是最简单的入门语言,但是也不是最难

• 启动时间慢:用java写过安卓的应用的人应该都知道。同样的代码在模拟器中启动是非常缓慢的事情。

03 GO语言

难度:★

欢迎度:★★★★☆

创始于:2007年

go语言的难度,相对来说,GO语言不难的。

可是GO语言的学习资料相对其他的语言来说很少,所以学习起来没有其他的语言那么便利;

很多人说GO语言在国内更火,按照数据来说,是的。因为中国人多,基数大。其实GO在国外更火。对于现在来说,GO实际上也已经站稳脚跟了。不管是Google自带光环也好,实际应用也好。go算是找到了属于自己的空间。

golang相对其他语言来说,招聘职位还是较少。

GO语言的优点:

• 编译时间快:GO语言编写最大的微服务的时间大概需要6秒,相对Java和C++呆滞的编译速度来说,GO语言快速编译是主要的效率优势。

• 并发性和通道:GO语言的logo大家可以了解一下,它就是致力于事情简单化,也就是快。其实并没有引入很多的新的概念。就是打造一门简单的语言,使用起来很快。在goroutine上运行一个函数最小的样板代码,我们只需要使用关键词go添加函数调用:

• 生态系统也是很强大的:面向Redis、RabbitMQ、Template等等很多稳定的库。有很强大的工具支持。

GO语言的缺点:

• 缺少框架:GO是没有一个主要的框架。但是很多人认为不应该从框架的使用开始。也可以从社区的讨论了解一下这个问题。

• 错误处理:在错误处理方式,很容易丢失错误发生范围,所以在编程过程中很难向用户提供出有意义的错误信息。

• 软件包管理:在默认的情况下,没有办法制定特定版本的依赖库,也没有办法创建可以复写的builds。

前期,咱们可以熟练掌握一门语言先找到合适的工作,拿到满意的薪水,稳定之后咱们逐渐就可以学习更多的语言,丰富技能~