Go 语言会是昙花一现吗?
共 2000字,需浏览 4分钟
·
2021-04-13 10:52
偶然看到有人说, Go 语言目前的火爆可能就是昙花一现而已。这个观点我当然是不认同的。
近几年,关于 Go 与 Java 还有 C 的对比和讨论愈演愈烈,但不可否认的是,在十年多的时间里,Go 语言发展势头强劲,凭借其简洁、高效的特性,在竞争激烈的编程语言市场中占据了一席之地。
据 StackOverflow(全球最大的编程社区和问答网站)在前不久发布的一份开发者生存报告显示,Go 语言在 2020 年是继 Python、Java、C++ 和 C 之后、排名第五的通用型、全平台编程语言。
图 3 - Stack Overflow Servey 2020 - The Most Popular Languages
不但如此,Go 语言在“最喜爱”和“最需要”的编程语言排行中也名列前茅。
图 4 - Stack Overflow Servey 2020 - The Most Loved Languages
图 5 - Stack Overflow Servey 2020 - The Most Wanted Languages
我们可以看到,Go 语言不但是开发者们非常喜爱的编程语言之一(“最喜爱”排行榜第五名),而且从实际应用的角度看,大家也是非常需要它的(“最需要”排行榜第三名)。正因为 Go 语言有着崇尚简约和实用主义的编程哲学,广大软件工程师才会如此地爱用它。
资深技术专家左耳朵耗子在他的《左耳听风》专栏中提到:
一个技术能不能发展起来,关键还要看三点:
有没有一个比较好的社区。像 C、C++、Java、Python 和 JavaScript 的生态圈都是非常丰富和火爆的。尤其是有很多商业机构参与的社区那就更是人气爆棚了,比如 Linux 社区。
有没有一个工业化的标准。像 C、C++、Java 这些编程语言都是有标准化组织的。尤其是 Java,它在架构上还搞出了像 J2EE 这样的企业级标准。
有没有一个或多个杀手级应用。C、C++ 和 Java 的杀手级应用不用多说了,就算是对于 PHP 这样还不能算是一个优秀的编程语言来说,因为是 Linux 时代的第一个杀手级解决方案 LAMP 中的关键技术,所以,也发展起来了。
当然,除了上面这三点重要的,还有一些其它的影响因素,比如:
学习难度是否低,上手是否快。这点非常重要,C++ 在这点上越做越不好了。
有没有一个不错的提高开发效率的开发框架。如:Java 的 Spring 框架,C++ 的 STL 等。
是否有一个或多个巨型的技术公司作为后盾。如:Java 和 Linux 后面的 IBM、Sun……有没有解决软件开发中的痛点。如:Java 解决了 C 和 C++ 的内存管理问题。
用这些标尺来衡量一下 Go 语言,我们可以清楚地看到:
Go 语言容易上手;
Go 语言解决了并发编程和底层应用开发效率的痛点;
Go 语言有 Google 这个世界一流的技术公司在后面;
Go 语言的杀手级应用是 Docker 容器,而容器的生态圈这几年可谓是发展繁荣,也是热点领域。
所以,Go 语言的未来是不可限量的。
更重要的是,Go 软件工程师的薪资待遇也是相当不错的,平均薪资已经达到25k!
就目前了解的一些互联网企业招聘 Go 软件工程师的情况。除了作为老一代霸主的 BAT(百度、阿里巴巴、腾讯)以及作为新一代翘楚的 TMD(今日头条、美团、滴滴)之外,还有很多知名的互联网公司都在招聘掌握 Go 语言的开发工程师和系统运维人员。
像 PingCAP、七牛、哔哩哔哩、探探、Grab 这些公司,在很早以前就混迹于 Go 语言圈子了。
如果你是一名 PHP,或者 .NET 工程师,那我建议你从今天开始,果断利用业务时间学习下 Go 语言,跟上时代的潮流走,把握住这波语言红利。 如果你是一名相对成熟的 Java 工程师,我同样也建议你考虑下 Go 语言。
因为在一个人能力尚可的情况下,如果停止对新技术的好奇和学习,那么可能也只是按部就班的成长。但是如果说来了一波趋势,你能抓住的话,等于对你来说是一个加速剂。目前Go 语言就处于这样一个不错的时代中。
金三银四跳槽季,这是一个千年不变的话题,每到这个时候,很多人都会临阵磨枪,相信不快也光。于是,大家都会搜集一些面试题。
这里,给大家分享一份 Go 工程师面试题,涵盖不少大厂高频必考点,需要的同学可扫码免费领取。