安基网 首页 资讯 职场族 查看内容

2019年最值得学习的编程语言,竟然不是Java

2019-7-27 01:58| 投稿: xiaotiger |来自: 互联网


免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

摘要: 前阵子,我看到国外开发者平台 HackerRank 发布了一份开发者技能报告,其中有一项关于《2019年你最想学的编程语言是哪个》的调查结果如下:2019 年程序员最想学习的编程语言 Top 3 分别是 Go、Kotlin 和 Python,其中 Go 以 37.2% 的比例排在首位。最近几年,Go 语言的发展确实比较迅猛,想来自 2009 ...

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

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

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

关于 Go 语言为什么这么火,这里引用一段「左耳朵耗子」对 Go 语言的感受:

1. 语言简单,上手快。

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

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

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


图源 Medium:Why should you learn Go?


其实,一个技术是否能发展得起来,关键看三点:

1. 有没有一个比较好的社区。像 C、C++、Java、Python 和 JavaScript 的生态圈都非常丰富和火爆,尤其是有很多商业机构参与的社区,显然是人气爆棚的状态,比如 Linux 社区。

2. 有没有一个工业化的标准。像 C、C++、Java 都是有标准化组织的,尤其是 Java,在架构上还搞出了像 J2EE 这样的企业级标准。

3. 有没有一个或多个杀手级应用。C、C++ 和 Java 的杀手级应用自然不用多说,就算是 PHP 这种还称不上优秀的编程语言,因为是 Linux 时代的第一个杀手级解决方案 LAMP 中的关键技术,所以也相应地发展起来了。

上述的这三点都非常关键,新的技术只需要占到其中一到两点就已经很不错了,而 Java 三点全占,所以现在才发展得这么好。

除了上面这三点以外,还有一些其它的因素:

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

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

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

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

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

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

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

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

所以,对 Java 开发者来说,学习并掌握 Go 语言是一个很不错的选择。目前 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语言编程课程,由前搜狗自身开发哪吒老师授课,欢迎前来拍砖~

以上内容希望可以帮助到你,也欢迎关注我们的A站和B站「老男孩python」查看更多Python项目教程进行学习,总之就是要勤动手写代码,多做项目练手!



小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

本文出自:https://www.toutiao.com/a6716753482075865612/

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

 最新
返回顶部