Go 语言会是未来吗?

Posted 二爷鉴书

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go 语言会是未来吗?相关的知识,希望对你有一定的参考价值。

我第一次听到 Go 语言是在一次同学聚会上,有个过去一起做过项目的学长很神秘地告诉我,他最近在研究一门新的编程语言,是 Google 发布的,叫作 Go。他说用这门语言很「过瘾」,就好像是 Google 的工程师受够了上个时代各种编程语言的限制,干脆自己动手来实现一个。


他告诉我 Go 语言「一定会火的」。多年过去,我仍然记得他笃定的眼神。


前阵子郝林老师在极客时间推出了 Go 的课程,我也悄悄买了课想要跟着学,说实话对一个产品经理来说有些吃力了,但这个课程在程序员圈子中的反响非常好,见到不少人在夸。所以今天将课程推荐给各位,如果你恰好想要学 Go 语言,这或许是个不错的选择,希望对你有帮助。




前阵子,国外开发者平台 HackerRank 发布了一份开发者技能报告,其中有一项关于《2019年你最想学的编程语言是哪个》的调查结果如下:



2019 年程序员最想学习的编程语言 Top 3 分别是 Go、Kotlin 和 Python,其中 Go 以 37.2% 的比例排在首位。


最近几年,Go 语言的发展确实比较迅猛,想来自 2009 年底 Go 语言开源至今,也不过十个年头。


关于 Go 语言为什么这么火,转述左耳朵耗子对 Go 语言的感受:


1. 语言简单,上手快。

2. 并行和异步编程几乎无痛点。

3. Go 语言的 lib 库麻雀虽小五脏俱全。

4. C 语言的理念和 Python 的姿态。


Go 语言会是未来吗?

△ 图源 Medium:Why should you learn Go?


其实,一个技术是否能发展得起来,关键看三点有没有一个比较好的社区;有没有一个工业化的标准;有没有一个或多个杀手级应用。


这三点都非常关键,新的技术只需要占到其中一到两点就已经很不错了,而 Java 三点全占,所以现在才发展得这么好。当然,除了上面这三点以外,还有一些其它的因素


1. 学习曲线是否低,上手是否快。这点非常重要,C++ 在这点上越做越不行了。

2. 有没有一个不错的提高开发效率的开发框架。如:Java 的 Spring 框架,C++ 的 STL 等。

3. 是否有一个或多个巨型的技术公司作为后盾。如:Java 和 Linux 后面的 IBM、Sun……

4. 有没有解决软件开发中的痛点。如:Java 解决了 C 和 C++ 的内存管理问题。


用这些标尺来量一下 Go 语言,我们会发现:Go 语言不仅容易上手,还解决了并发编程和写底层应用开发效率的痛点背后有 Google 这个世界一流的技术公司;它的杀手级应用是 Docker,而 Docker 的生态圈在这几年完全爆棚了。


其实,我也曾对“程序员是否有必要掌握多门语言”感到困惑,想起之前看 Google 研究总监 Peter Norvig 发表过一个观点:


一个优秀的程序员至少应该掌握 6 种编程语言,其中包括一种支持类抽象的,如 Java 和 C++;一种支持函数抽象的,如 Lisp 或 ML;一种支持语义抽象的,如 Lisp;一种支援声明规范的,如 Prolog 或 C++ 模板;还有一种支援协程的,如 Icon 或 Scheme,一种支持并发的,如 Sisal。


所以,精通一门编程语言和掌握多门编程语言,是不冲突的。我建议所有开发者都能有一到两门精通的主语言,并且可以掌握一些其他的语言,就像 Peter Norvig 说的,最好的就是每种类型的语言都可以掌握一门


所以,学习并掌握 Go 语言是一个很不错的选择。目前 Go 语言已经被大规模使用,主要应用于这些系统:


1. 服务器编程以前你使用 C 或者 C++ 做的那些事情,用 Go 来做很合适,例如处理日志、数据打包、虚拟机处理、文件系统等。

2. 分布式系统、数据库代理器等,例如 Etcd。

3. 网络编程,这一块目前应用最广,包括 Web 应用、API 应用、下载应用,而且 Go 内置的 net/http 包基本上把我们平常用到的网络功能都实现了。

4. 数据库,前一段时间 Google开发的 Groupcache,Couchbase 的部分组建,Tidb,Cockroachdb,Influxdb 等。

5. 云平台,目前国外很多云平台用 Go 开发,CloudFoundy 的部分组建,前 VMare 的技术总监自己出来搞的 Apcera 云平台等。


那么,如何学习 Go 语言呢?

首先,推荐一本书:《Go 并发编程实战》,这本书的作者是 GoHackers 技术社群的发起人,前轻松筹大数据负责人——郝林,估计 Go 语言生态圈里很多人都知道他。


Go 语言会是未来吗? 


他在极客时间的专栏《Go语言核心36讲》,由于内容超出预期地写到了50篇(原计划36讲),所以 3 天后专栏就要涨价了。


现在参团仅需 58元3天后涨价至 99元,相当于半价入手,希望专栏的内容可以帮到你。


这个专栏上线到现在也就 6 个月的时间,已经有近 2 万人订阅了,截点评价给你们作为参考。


△可以点击查看大图


扫码参与拼团

半价入手专栏


以上是关于Go 语言会是未来吗?的主要内容,如果未能解决你的问题,请参考以下文章

Python 会是我们的未来吗?

未来十年,Java 仍会是最受欢迎的编程语言吗?

未来十年,Java 仍会是最受欢迎的编程语言吗?

未来十年,Java 仍会是最受欢迎的编程语言吗?

Go程序编译教程

靠外援打call的搜狗,AI会是未来吗?